2014-11-13 53 views
1

的两个实例我创建了我安装了独立骡子ESB服务器,有两种sepaerate目录:骡子ESB:是否有可能启动骡子ESB

/ee/mmc-distribution-mule-console-bundle-3.5.2-HF1 
/ee2/mmc-distribution-mule-console-bundle-3.5.2-HF1 

我开始了第一台服务器,并且在下面的状态:

[[email protected] 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. 

然后我尝试启动第二个实例:所以显然端口8585

[[email protected] mmc-distribution-mule-console-bundle-3.5.2-HF1]# ./startup.sh 
Port 8585 is in use, please make it available and try again. 

正在使用的原instnace

所以我停止了第一instnace,并启动第二istance,成功地出现,如下:

./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为Tomcat(其中我知之甚少,但它某种应用服务器的,从未使用过它)

我检查这个网站:

http://www.mulesoft.org/documentation/display/33X/Running+Multiple+Mule+Instances

但它并没有讨论这个问题,它指向的页面似乎并不是最新的。我误解的东西

是否有可能在同一时间

,如果是这样,如何运行骡子ESB的两个单独的实例? (我怎么会改变其使用的端口,我应该修改哪些文件)

感谢


编辑:我的第二个职位响应回答:

(BTW:我使用的骡子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 /应用/ MMC /骡子-config.xml中(可能是因为我没有部署应用程序)

在服务器。XML中,MMC显然使用Tomcat来 处理MMC应用程序了,和server.xml中包含 如下:

<Connector port="8585" protocol="HTTP/1.1" 

所以我想我会在这一点上改变8585至8586,但是......

startup.sh有多个(约9或10)硬编码引用8585检查MMC正在运行,并采取行动,如果它是或不在运行

所以我实际上必须改变整个startup.sh用8586替换8585我是第二个实例以及更改server.xml端口8585的参考?

感谢

回答

3

只要你想你可以运行多个实例,只要他们不使用相同的端口。看起来你正在部署8585端口的东西,所以在第二个例子中你必须选择一个不同的端口。 该端口是否在您开发并部署在Mule运行时的任何应用程序中使用?

另外,如果您在启用MMC代理的情况下使用Mule运行时,还必须在第二个实例中更改代理的端口。我觉得你可以做的是,在/conf/wrapper.conf或传递到启动脚本以下参数:

-Dmule.mmc.bind.port=7778 

(或者说是没有任何端口)。

+0

startup.sh要求MMC端口(默认为7777),但正如我在我上面最quiest中的第二次编辑中所述, MMC有777的def端口,但为它供电的etomcat有8585的def端口。没有应用程序正在运行。我在第二次编辑我的问题时提出的解决方案是否可以解决8585问题? (我正在使用EE独立3.5.2) – user3407479

+0

mquintas:现在我使用的是./mule而不是./startup.sh,一切正常,所有答案都可以正常工作。谢谢 – user3407479

0

您可以随心所欲地运行。 在MMC中,我们可以部署和运行许多应用程序,每个应用程序都有自己的实例