Oracle Application Server
サーブレットクラス名の指定による起動
ハードリプレースの際、Oracle Application Server を 9.0.3 → 10.1.3.4 にバージョンアップしたんだけど、10.1.3.4はデフォルトの状態だと、クラス名を指定してサーブレットを起動できない。Tomcatと同じで、セキュリティ上の問題があって、デフォルトではコメント状態になっているんだろうと思って、設定ファイルを「/server」でgrepしたんだけど、それらしき設定がなく。。。ほんと困った。
結論からいうと、起動オプションのシステムプロパティに -Dhttp.webdir.enable=true をつけてやればいい。
公式Oracle Containers for J2EE構成および管理ガイドには、以下のように書いてある。
http.webdir.enable=
このプロパティは、OC4Jインスタンス内のすべてのサーブレットについて、サーブレット・クラス名の起動を有効または無効にします。trueに設定した場合、OC4Jインスタンスで稼働しているサーブレットはデフォルトでクラス名により起動できます。falseに設定した場合、サーブレットはクラス名により起動できません。デフォルトはfalseです。
Webアプリケーションごとにこの機能を無効にするには、このプロパティをtrueに設定して、サーブレット・クラス名の起動を許可しない各Webアプリケーションのorion-web.xmlディスクリプタに
と設定します。 orion-web.xmlでservlet-webdirに設定された値は、ORACLE_HOME/j2ee/instance/config/global-web-applicationでこの属性に設定されたデフォルト値、すなわちservlet-webdir="/servlet"に優先します。
楽だと思ってたのに、いろいろ躓く〜〜。