2012-06-13 20 views
8

設定を停止:RedHatの5.3、SunのJavaの1.6.31、ActiveMQの5.4.2ActiveMQの例外

私はActiveMQに停止するたびに例外を取得しています($>をサービスActiveMQの停止)

ACTIVEMQ_HOME: /opt/apache/apache-activemq-5.4.2 
ACTIVEMQ_BASE: /opt/apache/apache-activemq-5.4.2 
Connecting to JMX URL: service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi 
ERROR: java.lang.RuntimeException: Failed to execute stop 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] 
java.lang.RuntimeException: Failed to execute stop 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] 
    at org.apache.activemq.console.command.ShutdownCommand.runTask(ShutdownCommand.java:107) 
    at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57) 
    at org.apache.activemq.console.command.AbstractJmxCommand.execute(AbstractJmxCommand.java:316) 
    at org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:143) 
    at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57) 
    at org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:85) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.apache.activemq.console.Main.runTaskClass(Main.java:251) 
    at org.apache.activemq.console.Main.main(Main.java:107) 
ERROR: java.lang.Exception: 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] 
java.lang.Exception: 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] 
    at org.apache.activemq.console.command.ShutdownCommand.runTask(ShutdownCommand.java:108) 
    at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57) 
    at org.apache.activemq.console.command.AbstractJmxCommand.execute(AbstractJmxCommand.java:316) 
    at org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:143) 
    at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57) 
    at org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:85) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.apache.activemq.console.Main.runTaskClass(Main.java:251) 
    at org.apache.activemq.console.Main.main(Main.java:107) 
Caused by: 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] 
    at javax.management.remote.rmi.RMIConnector.connect(Unknown Source) 
    at javax.management.remote.JMXConnectorFactory.connect(Unknown Source) 
    at javax.management.remote.JMXConnectorFactory.connect(Unknown Source) 
    at org.apache.activemq.console.command.AbstractJmxCommand.createJmxConnector(AbstractJmxCommand.java:214) 
    at org.apache.activemq.console.command.AbstractJmxCommand.createJmxConnection(AbstractJmxCommand.java:237) 
    at org.apache.activemq.console.command.ShutdownCommand.runTask(ShutdownCommand.java:71) 
    ... 11 more 
Caused by: javax.naming.ServiceUnavailableException [Root exception is java.rmi.ConnectException: Connection refused to host: localhost; nested exception is: 
    java.net.ConnectException: Connection refused] 
    at com.sun.jndi.rmi.registry.RegistryContext.lookup(Unknown Source) 
    at com.sun.jndi.toolkit.url.GenericURLContext.lookup(Unknown Source) 
    at javax.naming.InitialContext.lookup(Unknown Source) 
    at javax.management.remote.rmi.RMIConnector.findRMIServerJNDI(Unknown Source) 
    at javax.management.remote.rmi.RMIConnector.findRMIServer(Unknown Source) 
    ... 17 more 
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(Unknown Source) 
    at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source) 
    at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source) 
    at sun.rmi.server.UnicastRef.newCall(Unknown Source) 
    at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source) 
    ... 22 more 
Caused by: java.net.ConnectException: Connection refused 
    at java.net.PlainSocketImpl.socketConnect(Native Method) 
    at java.net.PlainSocketImpl.doConnect(Unknown Source) 
    at java.net.PlainSocketImpl.connectToAddress(Unknown Source) 
    at java.net.PlainSocketImpl.connect(Unknown Source) 
    at java.net.SocksSocketImpl.connect(Unknown Source) 
    at java.net.Socket.connect(Unknown Source) 
    at java.net.Socket.connect(Unknown Source) 
    at java.net.Socket.<init>(Unknown Source) 
    at java.net.Socket.<init>(Unknown Source) 
    at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(Unknown Source) 
    at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(Unknown Source) 
    ... 27 more 

プロセスはまだ終了しますが、正常に終了しません。助言がありますか?

答えて

24

修正プログラムが見つかりましたが、根本的な問題に対処しているかどうかはわかりません。 ActiveMQのが起動したら、私はポート1099が実際に開いている場合は、次のコマンドを使用して参照するためにチェック:(ActiveMQのは始めて)

$> netstat -lptun | grep 1099 

このコマンドを印刷し、何も

は、ポートが開いていないことを示します。これは、ActiveMQが起動しても、JMX接続をリッスンしていないことを意味します(これにより、スクリプトがスクリプトを停止しようとします)。周りを見回した後、 {ACTIVEMQ_HOME} /conf/activemq.xmlファイルに私を導いた linkが見つかりました。 createConnectorは(ActiveMQのは、起動時に、これはJVM内のMBeanサーバを起動します)私の問題を解決=「true」を設定

<!-- 
    The managementContext is used to configure how ActiveMQ is exposed in 
    JMX. By default, ActiveMQ uses the MBean server that is started by 
    the JVM. For more information, see: 

     http://activemq.apache.org/jmx.html 
--> 
<managementContext> 
    <managementContext createConnector="false"/> 
</managementContext> 

:このファイルでは、次のセクションがあります。シャットダウン出力は現在(予想通り)次のようになります。

... 
ACTIVEMQ_HOME: /opt/apache/apache-activemq-5.4.2 
ACTIVEMQ_BASE: /opt/apache/apache-activemq-5.4.2 
Connecting to JMX URL: service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi 
Stopping broker: localhost 
.. FINISHED 

また、このフラグを変更した後、私はデフォルトのJMXポート(1099)はActiveMQの

$> netstat -lptun | grep 1099 
tcp  0  0 :::1099      :::*      LISTEN  30033/java 
を開始した後に開いていることを確認することができます
関連する問題