我创建了两个sepaerate目录,在其中安装了独立的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被原来的instnace所使用。
因此,我停止了第一个步骤,并启动了第二个步骤,它成功地出现了,如下所示:
./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"]但是请注意,它似乎在tomcat上使用8585 (我对它知之甚少,除了它是某种应用服务器,从未使用过)。
我查看了这个网站:
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 t 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/app/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 i,以及更改server.xml端口8585引用?
谢谢
发布于 2014-11-14 01:28:06
只要实例不使用相同的端口,就可以运行任意数量的实例。看起来您在端口8585中部署了一些东西,因此在第二个实例中,您必须选择另一个端口。该端口是否用于您在Mule运行时中开发和部署的任何应用程序?
另外,如果您使用Mule运行时并激活了MMC代理,则还必须在第二个实例中更改代理的端口。我认为您可以在/conf/wrapper.conf中或通过将以下参数传递给启动脚本来实现这一点:
-Dmule.mmc.bind.port=7778 (或任何自由的港口)。
发布于 2015-06-03 09:34:56
你想跑多少就跑多少。在MMC中,我们可以部署和运行许多应用程序,每个应用程序都有自己的实例。
https://stackoverflow.com/questions/26919044
复制相似问题