web-dev-qa-db-ja.com

JBoss4.2.2をシャットダウンするときのCommunicationException

JBoss4.2.2を使用するアプリケーションを64ビットRHEL5サーバーにデプロイしました。他にもJBossサーバーがあるため、サーバーの起動時に競合が発生しないように、いくつかのポート構成を変更する必要がありました。そのため、現在、docs/examples/binding-manager/samplesディレクトリにあるsample-bindings.xmlファイルのports-01を使用しています。さらに、以下は、新しいポートを反映するために編集したすべてのファイルのリストです。

  • JBOSS_HOME/servers/default/deploy/jboss-web.deployer/server.xml:
    • コネクタポートを変更-8080から8180
    • AJP1.3コネクタポートを8009から8109に変更しました
  • JBOSS_HOME/server/default/deploy/jbossws.beans/META-INF/jboss-beans.xml
    • 8080を8180に変更
  • JBOSS_HOME/server/default/conf/jboss-service.xml:
    • 8083を8183に変更
    • 1099を1299に変更しました
    • 1098を1298に変更
    • 4444を4644に変更しました
    • 4445を4645に変更
    • 4446を4646に変更しました
    • 4447を4647に変更
  • JBOSS_HOME/server/default/conf/jboss-minimal.xml:
    • 1099を1299に変更しました
    • 1098を1298に変更

サーバーを起動すると(ローカルホストにバインド)、すべてが正常で、アプリケーションにアクセスできます。しかし、サーバーをシャットダウンしようとすると、次のエラーが発生します。

スレッド "main"の例外javax.naming.CommunicationException:これらのURLのいずれにも接続できませんでした:localhost [ルート例外はjavax.naming.CommunicationException:サーバーlocalhost:1099への接続に失敗しました[ルート例外はjavax.naming.ServiceUnavailableExceptionです:org.jnp.interfaces.NamingContextのorg.jnp.interfaces.NamingContext.checkRef(NamingContext.Java:1562)のサーバーlocalhost:1099 [ルート例外はJava.net.ConnectException:接続が拒否されました]]]への接続に失敗しました。 lookup(NamingContext.Java:634)at org.jnp.interfaces.NamingContext.lookup(NamingContext.Java:627)at javax.naming.InitialContext.lookup(InitialContext.Java:392)at org.jboss.Shutdown.main(Shutdown .Java:214)原因:javax.naming.CommunicationException:サーバーlocalhost:1099への接続に失敗しました[ルート例外はjavax.naming.ServiceUnavailableException:サーバーlocalhost:1099への接続に失敗しました[ルート例外はJava.net.ConnectException:接続が拒否されました]] org.jnp.interfaces.NamingCでontext.getServer(NamingContext.Java:274)at org.jnp.interfaces.NamingContext.checkRef(NamingContext.Java:1533)... 4 more原因:javax.naming.ServiceUnavailableException:サーバーlocalhost:1099への接続に失敗しました[ルート例外は、org.jnp.interfaces.NamingContext.getServer(NamingContext.Java:248)でのJava.net.ConnectException:接続が拒否されました... 5その他原因:Java.net.ConnectException:Java.netで接続が拒否されました。 Java.net.PlainSocketImpl.doConnect(PlainSocketImpl.Java:333)のPlainSocketImpl.socketConnect(ネイティブメソッド)Java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.Java:195)のJava.net.PlainSocketImpl.connect(PlainSocketImpl.Java: 182)Java.net.SocksSocketImpl.connect(SocksSocketImpl.Java:366)、Java.net.Socket.connect(Socket.Java:525)、Java.net.Socket.connect(Socket.Java:475)、Java。 net.Socket。(Socket.Java:372)at Java.net.Socket。(Socket.Java:273)at org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.Java:84)at org.jnp.interfa org.jnp.interfaces.NamingContext.getServer(NamingContext.Java:244)のces.TimedSocketFactory.createSocket(TimedSocketFactory.Java:77)... 5詳細

1099を1299に変更する必要がある他のファイルはありますか、または他の手順がありませんか?

1
Brian

Shutdown.shは、JMXリクエストをjbossサーバープロセスに送信する別のJavaプログラムを起動します。新しいポートを検出するために設定ファイルを参照せず、デフォルトを想定しているだけです。(方法それはできますか?あなたはそれにあなたの設定ディレクトリを渡していない)

したがって、デフォルト以外のポートで実行されているjbossサーバーに接続するには、次のように実行する必要があります。

shutdown.sh --server=YOURHOST:1299

また、実際にsample-binding.xmlを使用している場合、つまりjboss-service.xmlでjboss.system:service=ServiceBindingManager mbeanのコメントを解除し、ServerNameStoreURLを適切に設定した場合、そうすれば、新しいポートに対して他の設定変更を行う必要はありません。それがバインディングマネージャーのポイントであり、そのすべての作業を一元化することです。

0
pra