Open MQ代理无法启动

时间:2017-04-12 16:34:46

标签: glassfish jms mq broker openmq

我们使用mq 5.1.1运行Glassfish 4.1.1(Payara)。这是一个带有负载均衡器和集群的HA设置。

Glassfish运行正常。问题是MQ无法启动。

我认为远程MQ正在启动。我可以做imqcmd list bkr -b,我得到了成功的结果。

但是,当我执行imqcmd list bkr(或imqcmd list jmx, without -b hostname)时,我得到:

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而不是localhost。

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 url。

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

1 个答案:

答案 0 :(得分:0)

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

我知道嵌入式代理没有启动,因为&lt; domaindir&gt; /

中没有创建“imq”文件夹

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