无法连接到RMI注册表

时间:2014-04-15 11:29:02

标签: java ubuntu-12.04 activemq

我在Ubuntu 12.04上运行activemq-5.9,可以公平地说我是活跃MQ的新手。

我怀疑我正在排队记录而不是将它们排队,所以我正在研究使用JMX连接到我的活动MQ代理并查看发生了什么。 Jconsole失败。

这很难,因为大多数关于如何执行此操作的文档都很旧,但我最终开始运行activemq列表。当我这样做时,它会引发一个相当冗长的堆栈跟踪:

Connecting to JMX URL: service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi
ERROR: java.lang.RuntimeException: Failed to execute list task. Reason: java.io.IOException: Failed to retrieve RMIServer stub: javax.naming.ServiceUnavailableException [Root exception is java.rmi.ConnectException: Connection refused to host: localhost; nested exception is: 
    java.net.ConnectException: Connection refused]
...
Caused by: java.rmi.ConnectException: Connection refused to host: localhost; nested exception is: 
    java.net.ConnectException: Connection refused
    at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619)
    at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)
    at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)
    at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:342)
    at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
    at com.sun.jndi.rmi.registry.RegistryContext.lookup(RegistryContext.java:118)
    ... 21 more
Caused by: java.net.ConnectException: Connection refused
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at java.net.Socket.connect(Socket.java:538)
    at java.net.Socket.<init>(Socket.java:434)
    at java.net.Socket.<init>(Socket.java:211)
    at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40)
    at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:148)
    at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613)
    ... 26 more

还有我配置错误的东西吗?我没有防火墙规则。我想不出还有什么可以找。

2 个答案:

答案 0 :(得分:2)

此处没有“无法检索RMI服务器存根”。无法连接到RMI注册表。要么它根本没有运行,要么你正在寻找错误的主机或端口。

答案 1 :(得分:0)

确保您的RMI注册表正在运行。您可以在另一个终端中使用rmiregistry执行此操作,并将其提供在同一个工作目录中。