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