- PR -

Jboss5を停止できない

1
投稿者投稿内容
ヴァンフォーレ増嶋
常連さん
会議室デビュー日: 2007/08/06
投稿数: 31
投稿日時: 2008-11-26 16:18
以下の環境でjbossサーバを構築中です。起動は問題なくできるのですが、停止させようとすると、以下のエラーが出力され、停止できず困っております。「名前」が見つからない というエラーのようですが、ドコとドコが一致していないのかわかっておりません。

<環境>
OS:RedHatLinuxES5
JBOSS:jboss-5.0.0.CR2
JDK:jdk1.6.0_01

<停止シェルの中身>
$JBOSS_HOME/bin/shutdown.sh -s localhost:11099 -S

※デフォルトの1099から変更しています。

<!-- Naming Service -->
<bean class="org.jboss.services.binding.ServiceBinding">
<constructor>
<parameter>jboss:service=Naming</parameter>
<parameter>Port</parameter>
<parameter>${jboss.bind.address}</parameter>
<parameter>11099</parameter>
</constructor>
</bean>

<停止シェル実行結果>
Exception in thread "main" javax.naming.NamingException: Could not dereference object [Root exception is javax.naming.NameNotFoundException: invoker not bound]
at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java:1257)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:760)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:629)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at org.jboss.Shutdown.main(Shutdown.java:218)
Caused by: javax.naming.NameNotFoundException: invoker not bound
at org.jnp.server.NamingServer.getBinding(NamingServer.java:564)
at org.jnp.server.NamingServer.getBinding(NamingServer.java:572)
at org.jnp.server.NamingServer.getObject(NamingServer.java:578)
at org.jnp.server.NamingServer.lookup(NamingServer.java:288)
at org.jnp.server.NamingServer.lookup(NamingServer.java:291)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305)
at sun.rmi.transport.Transport$1.run(Transport.java:159)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:178)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:132)
at $Proxy0.lookup(Unknown Source)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:669)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:629)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java:1251)
... 4 more
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2008-11-27 10:30
自分の環境で試してみましたが再現できませんでした。正常にシャットダウンできました。
ポートはデフォルトのままで以下のようにしてみました。
./shutdown.sh -s localhost:1099 -S

環境は以下の通りです。
OS : Mac OSX 10.5.5
JBoss : jboss-5.0.0.CR2-jdk6.zip
JDK : JDK1.6.0_07

起動したコンフィグレーションは default です。
まず全くデフォルトの状態で正常にシャットダウンできるかどうか試してみてはいかがでしょう。

あと現象には関係ないと思いますが JDK のバージョンがちょっと古いのも気になりますね。

JBoss ユーザグループで聞いてみるのもいいかもしれません。
http://www.jbug.jp/cgi-bin/fswiki/wiki.cgi

[ メッセージ編集済み 編集者: インギ 編集日時 2008-11-27 10:32 ]
ヴァンフォーレ増嶋
常連さん
会議室デビュー日: 2007/08/06
投稿数: 31
投稿日時: 2008-11-27 15:37
>まず全くデフォルトの状態で正常にシャットダウンできるかどうか試してみてはいかがでしょう。

おっしゃる通りです。デフォルトの環境から調査しました。

初回の書き込み時に情報が漏れておりましたが、$JBOSS_HOME/server/以下のdefaultフォルダをコピーして(default2など)複数インスタンスを起動させており、2つ以上インスタンスを起動させた状態で、後から起動させたインスタンスを停止させようとしたときに、該当のエラーが出力されて、停止ができない状態となっていました。

$JBOSS_HOME/server/default/conf以下のbindings.xmlというファイルのみで起動ポートを定義していると思い、各インスタンスでポートが重複しないよう定義を変更しておりました。しかし、以下のファイルでも起動ポートが定義されており、そこが各インスタンスで重複していたため、エラーを出しながら起動しておりました。

default/deploy/ejb3-connectors-jboss-beans.xml
default/deploy/messaging/remoting-bisocket-service.xml
default/conf/jbossjta-properties.xml
default/deploy/jbossweb.sar/server.xml

各インスタンスの起動ポートが重複しないように定義し直したところ、正常に停止できるようになりました。(shutdown.shで指定するポートが被ってなければ停止できると思い込んでいました)

こういった構築方法が正しいのかどうか不明ですし、そもそも各サービスがどういう動きをするのか理解していない状態ではありますが、一応問題は解決致しました。

>あと現象には関係ないと思いますが JDK のバージョンがちょっと古いのも気になりますね。

ご指摘ありがとうございます。バージョンアップも検討してみます。
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2008-11-27 18:11
おっと、投稿せずにいたらとっくに解決してた…。

私のところ(担当ではない)に同じくRed Hatで、何度かスクリプトを叩かないと
落ちないやつがあったので、もしかして同じ?と思ったんですが。
私のとこもそのあたりを見直してもらおうと思います。

[ メッセージ編集済み 編集者: mio 編集日時 2008-11-27 18:14 ]
ヴァンフォーレ増嶋
常連さん
会議室デビュー日: 2007/08/06
投稿数: 31
投稿日時: 2008-11-30 18:05
>>あと現象には関係ないと思いますが JDK のバージョンがちょっと古いのも気になりますね。
>ご指摘ありがとうございます。バージョンアップも検討してみます。

実は、Windowsでも同バージョンのJDK・JBOSSを使ってるんですが、下記のエラーが出てしまい、結局JDKを最新にすることになりました。

http://www.jboss.org/community/docs/DOC-11264
1

スキルアップ/キャリアアップ(JOB@IT)