问题描述

使用Ali-Tomcat在同一台机器上同时启动多个HSF应用时,可能会出现无法删除临时目录的错误,或者类加载相关的问题。

问题原因

两个HSF进程同时启动的时候,会向相同的临时目录解压,相互造成干扰。

解决方案

  1. 请参见JVM -D启动配置参数,在启动参数中配置以下参数:
    说明:在EDAS控制台中设置JVM参数方法请参见设置部署在ECS集群中的应用设置JVM参数
    • -Dcom.taobao.pandora.tmp_path:用于指定不同的临时解压目录,可避免不同Tomcat进程使用同一份临时目录的冲突。
    • -Dhsf.server.port:用于指定HSF不同的服务监听端口,默认为12200。如果在本地启动多个HSF Provider,则需要修改此端口,可避免端口冲突。
    • -Dpandora.qos.port:用于指定Pandora不同的QoS端口,默认值为12201。如果在本地启动多个HSF Provider,则需要修改此端口,可避免端口冲突。
    • -Dproject.name:用于指定HSF的应用名,应用部署时默认会启动该参数。
  2. 除了在启动参数中配置上述启动参数外,还可以在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" />

适用于

  • 企业级分布式应用服务EDAS