[英]Create a WebLogic development domain with custom memory
我一直試圖通過組合批處理文件和WLST來自動創建我們的開發環境,但我很難改變WebLogic服務器將開始的內存。
目前,我們手動更改<DOMAIN_HOME>/bin/setDomainEnv.cmd
腳本中的內存設置,但這是一種解決方法。 應該可以自動完成而不需要太多努力。
將Domain設置為非常簡單的腳本:
set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_45
set MW_HOME=C:\dev\wls1036_dev
set DOMAIN_HOME=C:\dev\domain
cd %MW_HOME%
call configure.cmd
mkdir %DOMAIN_HOME%
cd %DOMAIN_HOME%
%JAVA_HOME%\bin\java.exe -Xmx1024m -XX:MaxPermSize=256m -Dweblogic.management.username=weblogic -Dweblogic.management.password=welcome1 weblogic.Server
我試圖在這個腳本中使用一些變量,例如MEM_ARGS
, JAVA_OPTIONS
,但這些變量都不會轉發到域的最終配置,以后它總是以512堆和128 perm開始,這是不夠的。
我們正在使用Eclipse,它確實將startWebLogic.cmd
稱為啟動腳本。 這是標准配置。
我嘗試使用以下WLST腳本。 它確實設置了服務器啟動參數,但WebLogic沒有使用這些屬性並且加載的內存不足。
edit()
startEdit()
cd('/Servers/myserver/ServerStart/myserver')
cmo.setArguments('-Xmx1024m -XX:MaxPermSize=256m')
activate()
有任何想法嗎?
您可以使用技巧獲取ServerStart參數 :
config.xml
獲取參數: getArguments.py
import sys
readDomain(sys.argv[1])
cd('Server/%s/ServerStart/NO_NAME_0' % sys.argv[2])
argsFile = open('arguments.txt', 'w')
print >>argsFile, cmo.arguments
startWeblogic.cmd
如: startWebLogic.cmd中
...
set DOMAIN_HOME=%~dp0
path\to\wlst.cmd getArguments.py %DOMAIN_HOME% admin_server_name
set /p EXTRA_JAVA_PROPERTIES=<arguments.txt
call "%DOMAIN_HOME%\bin\startWebLogic.cmd" %*
從Eclipse執行WebLogic時,沒有簡單的方法來設置值。 它將調用批處理腳本,並且至少在當前版本中,不允許發送動態參數。
我們解決了它使setDomainEnv.cmd
文件成為我們版本化配置的一部分:
setDomainEnv.cmd
文件復制到版本控制配置。 copy custom\\setDomainEnv.cmd %DOMAIN_HOME%\\bin /y
。 現在,每次配置開發環境時,內存值都將准備就緒,無需人工干預。
更新WebLogic時必須重新編寫內容,因此最終不會使用過時的組件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.