14

Weblogic の各サーバー JVM ごとに設定するカスタム プロパティが必要です。それを行うより良いアプローチは何ですか?

以下のように引数を指定できることはわかっています。

  1. [ドメイン構造] ペインで、[サーバー] ノードを展開します。
  2. 構成するサーバーの名前をクリックします。
  3. 右側のペインで、[サーバーの開始] をクリックします。
  4. [ロックして編集] を選択します。
  5. [引数] テキスト ボックスに、JVM オプションを指定します。オプションを挿入したら、[保存] をクリックします。次に、[変更を有効にする] をクリックします。
  6. サーバーを再起動して、新しい設定が使用されるようにします。

私の質問は、引数がどのように正確に定義されているかです。その JVM 内にデプロイされるアプリケーション内でその引数を使用する方法。

編集

-DMyArg=MyValue コードで指定すると、value=System.getproperty("MyValue"); これは機能するはずですよね?

4

6 に答える 6

2

bin directory edit の下でsetDomainEnv.sh 、以下の行を見つけます。

USER_MEM_ARGS環境変数が設定されている場合は、それを使用してオーバーライドALL MEM_ARGS し、以下の行を追加して、それに応じて値を変更します

管理サーバーの場合

`if [ "${SERVER_NAME}" = "AdminServer" ] ; then
USER_MEM_ARGS="-Xms256m -Xmx256m -XX:MaxPermSize=256m"
MEM_ARGS="${USER_MEM_ARGS}"
export MEM_ARGS
fi`

管理対象サーバーの場合

`if [ "${SERVER_NAME}" != "AdminServer" ] ; then
USER_MEM_ARGS="-Xms512m -Xmx512m -XX:MaxPermSize=256m"
MEM_ARGS="${USER_MEM_ARGS}"
export MEM_ARGS
fi`
于 2015-10-21T15:23:36.400 に答える
0

私は通常、DOMAIN_HOME の下の管理対象サーバーごとに単純な呼び出しスクリプトを作成します。この呼び出しスクリプトは、WebLogic が管理サーバー用に自動的に作成するような、/bin ディレクトリ内の汎用開始スクリプトを呼び出します。この方法でメモリ引数をオーバーライドできることは知っていますし、JVM を変更できることも確信しています。

Windows 用のテスト済みスクリプトの例を次に示します。

cd bin
SET USER_MEM_ARGS=-Xms512m -Xmx512m
startManagedWebLogic.cmd new_ManagedServer_1 localhost:7001

UNIXでは次のようになると思います(bashスクリプトについてあまり知りません):

cd bin
export USER_MEM_ARGS="-Xms512m -Xmx512m"
./startManagedWebLogic.sh new_ManagedServer_1 localhost:7001

JVMを変更するには、次のようになると思います:

export JAVA_VENDOR="Oracle"
export USER_MEM_ARGS="-Xms512m –Xmx1g"
./startWebLogic.sh

これに関する誰かのフィードバックを聞くことに興味があります。それが誰かを助けることを願っています。. .

于 2013-11-10T21:32:38.677 に答える
0

「weblogic の各サーバー JVM ごとに設定するカスタムプロパティ」が必要な場合、startWeblogic.cmd または setDomainEnv.cmd を使用しても、すべてのサーバーに同じ値が設定されるため十分ではありません。

NodeManager が有効になっていない場合にできることの 1 つは、手動で config.xml ファイルを編集し、各サーバーの要素の<arguments>下に要素を追加/編集することです。<server-start>

ただし、これはお勧めしません (ここを参照してください: http://docs.oracle.com/cd/E23943_01/web.1111/e13716/config_files.htm )。NodeManger に依存し、説明した手順を使用することをお勧めします。

それ以外は、上記の答えvalue=System.getProperty("MyArg");が正しいです。

于 2012-09-28T18:32:37.327 に答える