需要運作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
修改完成後,将系列4生成的war包拷貝到webapps目錄下,啟動tomcat
通路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項目一樣。