【WebSphere Application Server】アプリケーションの起動が遅い場合の対処法

WebSphereにデプロイしたアプリケーションの起動が異常に遅い場合に有効な手段があったのでメモ。

WASではCDI( Contexts and Dependency Injection )がデフォルトで有効になっています。もし、デプロイしているアプリケーションでCDIを利用していない場合にはこの方法で起動速度がかなり早くなりました。私の場合、20分から2分くらいになりました。CDIの説明はこちら→ https://blogs.oracle.com/wlc/contexts-and-dependency-injectioncdi

WASでCDIが有効になっていると、アプリケーションの起動時にアサーションをスキャンするので、オーバヘッドが増加します。以下がCDIを無効化する手順です。

STEP① WAS管理コンソールにログイン

WASの管理コンソールにログインします。URLは「 https://hostname:port/ibm/console」です。

STEP② JVMカスタムプロパティの設定画面を開く

管理コンソールで以下の画面を開きます。
「サーバー」> 「サーバー・タイプ」>「WebSphere Application Server」>「server_name」>「サーバー・インフラストラクチャー」>「Java およびプロセス管理」 >「プロセス定義」>「Java 仮想マシン」>「カスタム・プロパティー」

STEP③ CDIを無効化するカスタムプロパティを追加する

以下のカスタムプロパティを追加します。設定したら、保存→再起動します。

NameValue
1 com.ibm.ws.cdi.enableImplicitBeanArchives false
2 com.ibm.ws.cdi.enableCDIfalse

あくまで、アプリケーションでCDIを使ってない場合です。上記のカスタムプロパティはデフォルトはtrueなので、CDIを使っている場合はこの方法は使えません。 (ーoー)y~~