0

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

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

我认为远程 MQ 正在启动。我可以执行 imqcmd list bkr -b 并获得成功的结果。

但是,当我执行 imqcmd list bkr(或 imqcmd list 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 而不是 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。

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

4

1 回答 1

0

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

我知道嵌入式代理没有启动,因为没有在 <domaindir>/ 中创建“imq”文件夹

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

于 2017-04-19T21:11:53.923 回答