2011-11-16 264 views
10

我需要一個定製屬性來爲Weblogic中的每個服務器JVM設置。做得更好的方法是什麼?在Weblogic JVM中設置自定義參數

我知道我們可以指定像下面的argments:

  1. 在域結構窗格中,展開服務器節點。
  2. 單擊您要配置的服務器的名稱。
  3. 在右側窗格中,單擊服務器啓動。
  4. 選擇鎖&編輯。
  5. 在Arguments文本框中,提供JVM選項。插入選項後,點擊保存。然後點擊激活更改。
  6. 重新啓動服務器,以便使用新設置。

我的問題是如何定義參數?如何在將被部署在該JVM中的應用程序內使用該參數。

編輯

如果我指定,-DMyArg=MyValue 並在代碼,value=System.getproperty("MyValue");這應該工作,對不對?

+0

要使用WLST追加serverstart ARGS檢查我的答案[這裏](http://stackoverflow.com/questions/12629395/weblogic-using-environment-variable-double-quotes-in-參數在服務器/ 12634463#12634463) – Mani

回答

8

編輯:如果我指定, 「-DMyArg = myvalue的」,並在代碼, 值= System.getproperty( 「myvalue的」);這應該工作,對吧?

稍有不慎,你應該使用

value=System.getProperty("MyArg"); 

但是,這僅啓用節點管理器的工作原理。如果不是這種情況,我做的是將其設置在startWebLogic.cmd中爲JAVA_OPTIONS

更妙的一個是具有

set EXTRA_JAVA_PROPERTIES=... 
+2

但setDomainEnv.cmd在頂部說:#警告:該文件是由配置嚮導創建的。 #向此配置添加擴展名時,此腳本的任何更改都可能會丟失。 –

0

線的setDomainEnv.cmd如果你需要一個「 自定義屬性設置每個服務器JVM在weblogic「,然後使用startWeblogic.cmd或setDomainEnv.cmd將是不夠的,因爲它們將爲您的所有服務器設置相同的值。

如果NodeManager未啓用,您可以執行的一件事是手動編輯config.xml文件並在每個服務器的<server-start>元素下添加/編輯<arguments>元素。

但是 - 這不建議(見這裏:http://docs.oracle.com/cd/E23943_01/web.1111/e13716/config_files.htm)。更好地依賴NodeManger並使用你描述的過程。

除此之外,上面的回答value=System.getProperty("MyArg");是正確的。

0

我通常會爲DOMAIN_HOME下的每個受管服務器創建簡單的調用腳本,然後調用/ bin目錄中的通用啓動腳本 - 就像WebLogic爲Admin Server自動創建的一樣。我知道你可以用這種方式重寫內存參數,我很確定你可以改變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 

會有興趣聽到任何e對此的反饋。希望它能幫助別人。 。 。

0

下的bin目錄編輯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`