J2EEアプリケーション(EAR)挙動不審の件
application.xmlがこんな感じのJ2EEアプリケーションがあったとする.
<?xml version="1.0"?> <!DOCTYPE application PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application 1.2//EN' 'http://java.sun.com/j2ee/dtds/application_1_2.dtd'> <application> <display-name>xatest</display-name> <module id="WebModule"> <web> <web-uri>test.war</web-uri> <context-root>xa</context-root> </web> </module> <module id="WebModule2"> <web> <web-uri>test2.war</web-uri> <context-root>xa2</context-root> </web> </module> <!-- <module id="EjbModule"> <ejb>xasimpletest.jar</ejb> </module> --> </application>
EjbModuleのところはわざとコメントアウトしている.この場合,"http://localhost:9080/xa/"へアクセスすれば"test.war"へ,"http://localhost:9080/xa2"へアクセスすれば"test2.war"へ処理が転送される.
しかしEjbModuleのところのコメントアウトを外して有効にすると,"http://localhost:9080/xa/"にアクセスしても"http://localhost:9080/xa2"にアクセスしても謎のplain/textなレスポンス
OK
が返って来るだけとなる.
ちなみに"http://localhost:9080/hoge/"のように間違ったURLへアクセスした場合にはもちろん
SRVE0017W: /hoge/ を処理する Web グループ/仮想ホストが定義されていません。 IBM WebSphere Application Server
といったまともなエラーが返って来る.
WebSphereはJNDIが酷いことになっているのでこういう構成のテスト用アプリを作るしか方法がなくなっているわけだが,それすらも拒むWebSphere.この件はもうこれ以上手に負えないので明日師匠に聞くこととし,今日はおしまい.