2002/3/25

JBoss 3.0.0 Betaをインストールしてみた。2.4は問題なく動くのに、3.0.0だと起動途中で次のようなエラーが出てしまう。(実際にはこの後ろにも、もっといっぱい)

2002-03-22 13:01:47,837 ERROR [org.jboss.system.
ServiceController]Could not create MBean:
jboss.management.single:type=J2EEDomain,name=Manager
javax.management.NotCompliantMBeanException:
Getter isStateManageable cannot co-exist
with getter getStateManageable

そこで、jboss-fanメーリングリストで質問してみたところ、Sunのjmxri.jarのバグでJDK 1.4.0ではうまく動かないらしい、という回答を頂いた(JBossフォーラムの関連スレッド)。紹介された方法で対処したところ、うまくいったので、その報告。

以下は、http://www.purposesolutions.com/Resources/EclipseJ2EE.htmlに書いてあったことを適当に訳してみた内容。

問題JBoss 3.0.0 Betaは、JDK1.3で動作しますが、1.4.0では動作しません。
原因Sunの現在のJMX(jmxri.jar)にはJDK1.4.0との組み合わせで問題があります。(JMXの新しいバージョンはすぐに出てくるかもしれません。)
解決策しばらくの間、JBossMX(Alpha 2)を使用して回避できます。以下のステップに従ってください。

  1. JBossMXをダウンロードしてください。 http://prdownloads.sourceforge.net/jboss/jmx-1_0_Alpha2.zip
  2. jboss-jmx.jar「だけ」を適当な場所に展開してください。(jmx-1_0_Alpha2\lib\jboss-jmx.jarです。適当な場所へ展開してください、そうすればjboss-jmx.jarを入手できます。それ以外のzipの中のどのファイルも必要ありません。)
  3. jboss-jmx.jarを%JBOSS_DIST%\libにコピーしてください。
  4. %JBOSS_DIST%\lib\jmxri.jarを%JBOSS_DIST%\lib\extに移動してください。(これはまだjmxtoos.jarのトレースルーチンで必要です)
  5. jmxri.jarの代わりにjboss-jmx.jarを使用するようにJBossを設定します。%JBOSS_DIST%\bin\run.jarの中のMETA-INF/MANIFEST.MFの中の参照を変更してください。
    1. 一時作業用のフォルダに移動してください。(C:\Tempなど)
    2. "jar xvf %JBOSS_DIST%\bin\run.jar"を実行してください。 META-INFとorgという2つのフォルダが得られます。
    3. META-INF\MANIFEST.MFを編集します。"../lib/jmxri.jar"への参照を、"../lib/jboss-jmx.jar"に変更してください。そして保存してください。
    4. 新しいrun.jarを得るために、"jar cvfm run.jar META-INF\MANIFEST.MF org"を実行してください。
    5. オリジナルの%JBOSS_DIST%\bin\run.jarをバックアップしてください。( run.jar.originalなどとして)
    6. 新しいrun.jarを%JBOSS_DIST%\binに移動してください。