我创建了两个独立的目录,我在其中安装了Standalone Mule ESB服务器:
/ee/mmc-distribution-mule-console-bundle-3.5.2-HF1
/ee2/mmc-distribution-mule-console-bundle-3.5.2-HF1
我启动第一台服务器,下面是状态:
[root@x240perf2 mmc-distribution-mule-console-bundle-3.5.2-HF1]# ./status.sh
MMC is running as PID=1998.
Mule Enterprise Edition is running as PID=2619.
然后我尝试启动第二个实例:
[root@x240perf2 mmc-distribution-mule-console-bundle-3.5.2-HF1]# ./startup.sh
Port 8585 is in use, please make it available and try again.
显然端口8585正在被原始实体使用
所以我停止了第一次尝试,并开始第二次成功,成功,如下:
./startup.sh
Please enter the desired port for Mule [Default 7777]:
Starting MMC, please wait...
class com.sun.jersey.multipart.impl.MultiPartConfigProvider
class com.sun.jersey.multipart.impl.MultiPartReader
class com.sun.jersey.multipart.impl.MultiPartWriter
[11-13 16:49:19] WARN HttpSessionSecurityContextRepository [http-bio-8585-exec-1]: Failed to create a session, as response has been committed. Unable to store SecurityContext.
[11-13 16:49:32] WARN HttpMethodBase [http-bio-8585-exec-12]: Going to buffer response body of large or unknown size. Using getResponseBodyAsStream instead is recommended.
[11-13 16:49:38] WARN HttpSessionSecurityContextRepository [http-bio-8585-exec-12]: Failed to create a session, as response has been committed. Unable to store SecurityContext.
Nov 13, 2014 4:49:50 PM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Nov 13, 2014 4:49:50 PM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8585"]
但请注意,它似乎是使用8585 for tomcat(其中我知之甚少,除了某种app服务器,从未使用过它)
我查看了这个网站:
http://www.mulesoft.org/documentation/display/33X/Running+Multiple+Mule+Instances
但它没有讨论这个问题。它指出的页面似乎不是最新的。我误解了什么
是否可以同时运行两个单独的Mule ESB实例
若然,怎么样? (我将如何更改其使用的端口,我应该修改哪个文件)
由于
编辑:我的第二篇文章回答:
(顺便说一句:我使用的是Mule ESB独立企业版3.5.2)
确保我没有正在运行的任何应用 在端口8585上,我关闭了我的原始实例,并创建了两个新实例,并确保没有应用程序部署到任何一个实例。
我提出了第一个没有问题的实例,但我提出的第二个实例仍然给出了使用错误的端口8585(来自startup.sh)
此站点表示MMC默认端口为7777,但运行它的tomcat默认端口为8585
http://www.mulesoft.org/documentation/display/current/Setting+Up+MMC-Mule+ESB+Communications
我使用以下命令查找第二个por 8585实例中的所有文件
find . -type f |xargs grep "8585
除了日志文件,我有两次点击
startup.sh
and
/mmc-3.5.2-HF1/apache-tomcat-7.0.52/conf/server.xml
我在任何一个实例中都找不到$ MULE_HOME / apps / mmc / mule-config.xml(可能是因为我没有部署应用程序)
在server.xml中,MMC显然使用了tomcat 处理MMC应用程序,server.xml包含 以下内容:
<Connector port="8585" protocol="HTTP/1.1"
所以我想我现在可以将8585更改为8586,但是......
startup.sh有多个(大约9或10个)硬编码引用到8585以检查MMC是否正在运行并在运行或未运行时采取措施
所以我实际上必须更改整个startup.sh以将8585替换为第二个实例8586,并更改server.xml端口8585引用?
由于
答案 0 :(得分:3)
您可以根据需要运行任意数量的实例,只要它们不使用相同的端口即可。看起来你在端口8585中部署了一些东西,所以在第二个实例中你必须选择一个不同的端口。 该端口是否在您在Mule运行时中开发和部署的任何应用程序中使用?
此外,如果您在激活MMC代理程序时使用Mule运行时,则还必须在第二个实例中更改代理程序的端口。我想你可以在/conf/wrapper.conf中做到这一点,或者通过向启动脚本传递以下参数:
-Dmule.mmc.bind.port=7778
(或任何免费的端口)。
答案 1 :(得分:0)
您可以根据需要运行任意数量的游戏。 在MMC中,我们可以部署和运行许多应用程序,每个应用程序都有自己的实例