Mule ESB:是否可以启动Mule ESB的2个实例

时间:2014-11-13 21:46:52

标签: mule esb

我创建了两个独立的目录,我在其中安装了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引用?

由于

2 个答案:

答案 0 :(得分:3)

您可以根据需要运行任意数量的实例,只要它们不使用相同的端口即可。看起来你在端口8585中部署了一些东西,所以在第二个实例中你必须选择一个不同的端口。 该端口是否在您在Mule运行时中开发和部署的任何应用程序中使用?

此外,如果您在激活MMC代理程序时使用Mule运行时,则还必须在第二个实例中更改代理程序的端口。我想你可以在/conf/wrapper.conf中做到这一点,或者通过向启动脚本传递以下参数:

-Dmule.mmc.bind.port=7778 

(或任何免费的端口)。

答案 1 :(得分:0)

您可以根据需要运行任意数量的游戏。 在MMC中,我们可以部署和运行许多应用程序,每个应用程序都有自己的实例