首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mule ESB:可以启动Mule ESB的2个实例吗?

Mule ESB:可以启动Mule ESB的2个实例吗?
EN

Stack Overflow用户
提问于 2014-11-13 21:46:51
回答 2查看 2.9K关注 0票数 1

我创建了两个sepaerate目录,在其中安装了独立的Mule ESB服务器:

代码语言:javascript
复制
/ee/mmc-distribution-mule-console-bundle-3.5.2-HF1
/ee2/mmc-distribution-mule-console-bundle-3.5.2-HF1

我启动了第一台服务器,下面是状态:

代码语言:javascript
复制
[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.

然后我尝试启动第二个实例:

代码语言:javascript
复制
[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所使用。

因此,我停止了第一个步骤,并启动了第二个步骤,它成功地出现了,如下所示:

代码语言:javascript
复制
./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。

代码语言:javascript
复制
http://www.mulesoft.org/documentation/display/current/Setting+Up+MMC-Mule+ESB+Communications

我使用以下命令查找第二个实例por t 8585中的所有文件

代码语言:javascript
复制
find . -type f |xargs grep  "8585

除了日志文件,我还有两次点击

代码语言:javascript
复制
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包含以下内容:

代码语言:javascript
复制
<Connector port="8585" protocol="HTTP/1.1"

所以我想现在我可以把8585改为8586,但是.

startup.sh有服务器(大约9或10)硬编码到8585来检查MMC是否正在运行,如果它正在运行或没有运行,则采取行动。

那么,我是否必须更改整个startup.sh以将8585替换为第二个实例8586 i,以及更改server.xml端口8585引用?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-14 01:28:06

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

另外,如果您使用Mule运行时并激活了MMC代理,则还必须在第二个实例中更改代理的端口。我认为您可以在/conf/wrapper.conf中或通过将以下参数传递给启动脚本来实现这一点:

代码语言:javascript
复制
-Dmule.mmc.bind.port=7778 

(或任何自由的港口)。

票数 3
EN

Stack Overflow用户

发布于 2015-06-03 09:34:56

你想跑多少就跑多少。在MMC中,我们可以部署和运行许多应用程序,每个应用程序都有自己的实例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26919044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档