需要运行ESB项目转换的web项目的Tomcat最低版本要求是7.0.50,我们使用了7.0.69。Tomcat需要做以下改动:
1)修改conf/server.xml文件,添加以下代码:
<Listener className="org.mule.module.tomcat.MuleTomcatListener" />
2)在tomcat根目录下新建名为mule_libs的目录,将mule studio使用的mule esb运行时环境jar包(除了boot目录外)拷贝到mule_libs目录下:
然后将boot目录下的以下jar包拷贝到mule_libs/opt目录下
- commons-cli-<version>.jar
- disruptor-<version>.jar
- jcl-over-slf4j-<version>.jar
- log4j-jcl-<version>.jar
- slf4j-api-<version>.jar
- wrapper-<version>.jar
再将anypoint studio的data weaver plugin下的jar包拷贝到mule_libs/opt目录下
3)修改conf/catalina.properties文件,修改common.loader
common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,
${catalina.home}/lib,${catalina.home}/lib/*.jar,
${catalina.home}/opt_lib/*.jar,${catalina.home}/mule-libs/user/*.jar,
${catalina.home}/mule-libs/mule/*.jar,${catalina.home}/mule-libs/opt/*.jar,
${catalina.home}/mule-libs/endorsed/*.jar
访问url格式为
http://<host>:<port>/<name-of-war-file>/name-of-servlet-path/name-of-inbound-path
我们的tomcat使用的是默认设置,servlet path设置为/*,流程文件中设置的inbound endpoint path是Test
因此我们部署的testproject.war包访问的地址是
http://localhost:8080/testproject/Test
我们使用Advanced Rest Client访问这个url
访问结果和直接访问ESB项目一样。