使用Ali-Tomcat启动多个HSF失败怎么办?
问题现象
使用Ali-Tomcat在同一台机器上同时启动多个HSF应用时,可能会出现无法删除临时目录的错误,或者类加载相关的问题。
可能原因
两个HSF进程同时启动的时候,会向相同的临时目录解压,相互造成干扰。
解决方案
- 方式一:在启动参数中配置以下参数。
- -Dcom.taobao.pandora.tmp_path= :用于指定不同的临时解压目录,可避免不同Tomcat进程使用同一份临时目录的冲突。
- -Dhsf.server.port= :用于指定HSF不同的服务监听端口,默认为12200。如果在本地启动多个HSF Provider,则需要修改此端口,可避免端口冲突。
- -Dpandora.qos.port= :用于指定Pandora不同的QoS端口,默认值为12201。如果在本地启动多个HSF Provider,则需要修改此端口,可避免端口冲突。
- -Dproject.name= :用于指定HSF的应用名,应用部署时默认会启动该参数。
关于配置JVM参数的操作步骤,请参见设置启动命令。关于参数的更多信息,请参见JVM -D启动配置参数。
- 方式二:在Tomcat配置文件的目录,找到conf/server.xml配置文件并修改监听端口。示例如下:
<Server port="8006" shutdown="TAOBAO-TOMCAT-SHUTDOWN"> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="15000" redirectPort="8443" maxParameterCount="1000" maxThreads="250" maxPostSize="2097152" acceptCount="200" useBodyEncodingForURI="true" />