Не удалось подключиться к реестру RMI
Я использую activemq-5.9 в Ubuntu 12.04, и было бы справедливо сказать, что я новичок в активной 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 ответа
Здесь нет "сбоя при извлечении заглушки RMI-сервера". Не удалось подключиться к реестру RMI. Либо он вообще не работает, либо вы ищете не тот хост или порт.
Убедитесь, что ваш реестр RMI работает. Вы можете сделать это с rmiregistry
в другом терминале, если он находится в том же рабочем каталоге.