2017-04-12 129 views
0

我们使用mq 5.1.1运行Glassfish 4.1.1(Payara)。这是一个包含负载平衡器和集群的HA设置。打开MQ代理不会启动

Glassfish运行正常。问题是MQ不会启动。

我认为远程MQ正在启动。我可以做imqcmd列表bkr -b,并且我获得了成功的结果。

然而,当我这样做的imqcmd列表BKR(或imqcmd子列表JMX,没有 -b主机名),我得到:


Host   Primary Port 
------------------------- 
localhost 7676 

WARNING: [C4003]: Error occurred on connection creation [localhost:7676]. - cause: java.net.SocketException: Connection reset 
Error while connecting to the broker on host 'localhost' and port '7676'. 

我想摆脱错误的,看看我的网络IP而不是本地主机。

而且GF server.log中给出了这样的:

[2017-04-12T11:54:46.516-0400] [Payara 4.1] [SEVERE] [rardeployment.start_failed] [javax.enterprise.resource.resourceadapter.com.sun.enterprise.connectors] [tid: _ThreadID=42 _ThreadName=admin-listener(2)] [timeMillis: 1492012486516] [levelValue: 1000] [[ 
    RAR6035 : Resource adapter start failed. 
javax.resource.spi.ResourceAdapterInternalException: java.security.PrivilegedActionException: javax.resource.spi.ResourceAdapterInternalException: MQJMSRA_RA4001: start:Aborting:Exception starting EMBEDDED broker=Broker failed to start 
     at com.sun.enterprise.connectors.jms.system.ActiveJmsResourceAdapter.startResourceAdapter(ActiveJmsResourceAdapter.java:557) 
     at com.sun.enterprise.connectors.ActiveOutboundResourceAdapter.init(ActiveOutboundResourceAdapter.java:130) 

... 

Caused by: java.lang.RuntimeException: Broker failed to start 
     at com.sun.messaging.jmq.jmsclient.runtime.impl.BrokerInstanceImpl.start(BrokerInstanceImpl.java:205) 
     at com.sun.messaging.jms.blc.EmbeddedBrokerRunner.start(EmbeddedBrokerRunner.java:331) 
     at com.sun.messaging.jms.blc.LifecycleManagedBroker.start(LifecycleManagedBroker.java:457) 
     ... 92 more 
Caused by: java.io.IOException: [B3297]: Unable to make directory <mydirectory>/imq/instances/imqbroker/etc 
     at com.sun.messaging.jmq.jmsserver.Broker.initializePasswdFile(Broker.java:376) 

我想知道,这是无法对该目录进行配置。

我一直在调试这几天。我需要知道为嵌入式代理配置IP的位置。我也需要知道在哪里设置jmxrmi网址。

任何帮助,将不胜感激。谢谢!

回答

0

我找到了解决这个问题的办法。我们在Glassfish应用程序目录中有一个到openmq应用程序目录的符号链接。在域启动时,Glassfish找不到mq,因此无法启动嵌入式代理。一旦我们修复了符号链接,嵌入式代理就启动了glassfish域的启动(asadmin start-domain)。

我知道嵌入式代理没有开始,因为“IMQ”文件夹中没有被在<创建domaindir >/

检查那些破碎的符号链接!

+0

请标记为正确的答案,即使它是你的,以便人们知道解决方案已被找到。 – OndrejM