簡體   English   中英

使用自定義內存創建WebLogic開發域

[英]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_ARGSJAVA_OPTIONS ,但這些變量都不會轉發到域的最終配置,以后它總是以512堆和128 perm開始,這是不夠的。

WLST內存啟動args

我們正在使用Eclipse,它確實將startWebLogic.cmd稱為啟動腳本。 這是標准配置。

我嘗試使用以下WLST腳本。 它確實設置了服務器啟動參數,但WebLogic沒有使用這些屬性並且加載的內存不足。

edit()
startEdit()
cd('/Servers/myserver/ServerStart/myserver')
cmo.setArguments('-Xmx1024m -XX:MaxPermSize=256m')
activate()

有任何想法嗎?

您可以使用技巧獲取ServerStart參數

  1. 編寫簡單的脫機WLST腳本以從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
  1. 將此腳本添加到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文件成為我們版本化配置的一部分:

  1. setDomainEnv.cmd文件復制到版本控制配置。
  2. 編輯你想要的任何東西(記憶等)
  3. 在運行開發環境配置腳本時,將文件copy custom\\setDomainEnv.cmd %DOMAIN_HOME%\\bin /y

現在,每次配置開發環境時,內存值都將准備就緒,無需人工干預。

更新WebLogic時必須重新編寫內容,因此最終不會使用過時的組件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM