見出し画像

WebLogicのsetDomainEnv.shにおけるJVM設定を理解しよう


はじめに

WebLogicでは、setDomainEnv.shというファイルでJVMの動作設定を行います。このファイルは、WebLogicドメインの起動時に読み込まれる重要な設定ファイルです。今回は、この中でもよく使用されるJVM設定について、初心者にもわかりやすく解説していきます。

そもそもJVMって何?

JVM(Java Virtual Machine)は、Javaプログラムを動かすための「仮想的なコンピュータ」です。パソコンの中に作られた「専用の箱」のようなもので、この中でJavaプログラムが安全に効率よく動作します。

setDomainEnv.shとは?

setDomainEnv.shは、WebLogicドメインの環境変数を設定するシェルスクリプトです。このファイルは通常、以下のようなパスに配置されています:

${DOMAIN_HOME}/bin/setDomainEnv.sh

主要なJVM設定を理解しよう

今回は、以下のJVM設定について見ていきます:

JAVA_OPTIONS="${JAVA_OPTIONS} -Duser.timezone=JST 
-Dweblogic.http.client.defaultConnectTimeout=10000 
-Dweblogic.jndi.MSIlookupRequestTimeout=5000 
-Dweblogic.security.MSILocalLDAPOnly=true  
-Dweblogic.unicast.HttpPing=true 
-XX:MaxMetaspaceSize=1024M"

1. タイムゾーンの設定

-Duser.timezone=JST
  • 設定の目的:システムの時刻を日本標準時に設定

  • なぜ必要?:日時処理を日本時間で正しく行うため

  • 設定がないと:国際時間での処理となり、日本のユーザーには不適切な時刻表示になる可能性

2. 接続タイムアウトの設定

-Dweblogic.http.client.defaultConnectTimeout=10000
  • 設定の目的:外部サービスへの接続時間を制限

  • 値の意味:10,000ミリ秒(10秒)

  • なぜ必要?:システムが無限に待ち続けることを防ぐため

況を防ぎます。

3. JNDIルックアップタイムアウト

-Dweblogic.jndi.MSIlookupRequestTimeout=5000

必要な情報やサービスを探す時間を5秒に制限します。図書館で本を探すように、「5秒探しても見つからなかったら、一旦諦める」というルールを設定するようなものです。

4. セキュリティ設定

-Dweblogic.security.MSILocalLDAPOnly=true

ユーザー情報の管理方法に関する設定です。同じサーバー内(ローカル)の情報だけを使うように指定することで、処理速度を向上させます。

5. 死活監視の設定

-Dweblogic.unicast.HttpPing=true

システムの健康状態を定期的にチェックする仕組みです。「元気ですか?」「はい、元気です」という確認作業を自動的に行います。

6. メモリ管理の設定

-XX:MaxMetaspaceSize=1024M

Javaプログラムの設計図(クラス)を保管する場所の大きさを制限します。工具箱のサイズを決めるようなもので、これにより必要以上にメモリを使用することを防ぎます。

設定値を変更する場合の注意点

  1. 必ずバックアップを取る

  2. 変更後はWebLogicの再起動が必要

  3. 変更の影響を理解してから実施

  4. テスト環境での検証を推奨

トラブルシューティング

よくある問題と対処方法:

  1. メモリ不足の場合

    • MaxMetaspaceSize値の調整

    • 他のメモリ設定の見直し

  2. タイムアウトエラーが頻発する場合

    • ConnectTimeout値の調整

    • ネットワーク状況の確認

まとめ

setDomainEnv.shのJVM設定は、WebLogicの安定運用に重要な役割を果たします。設定値は環境に応じて適切に調整する必要がありますが、その前提として各設定の意味を理解することが大切です。

・設定ファイルの場所:${DOMAIN_HOME}/bin/setDomainEnv.sh


いいなと思ったら応援しよう!