使用 wsadmin Scripting 來設定商業層次應用程式
您可以先建立空的商業層次應用程式,然後將資產、共用程式庫或商業層次應用程式當成組合單元,新增至空的商業層次應用程式。
開始之前
在建立商業層次應用程式之前,請先決定要新增至應用程式的資產或其他檔案。
此外,請驗證已配置目標應用程式伺服器。在配置伺服器的過程中,請判斷您的應用程式檔案是否可以在部署目標上執行。
關於這項作業
程序
- 啟動 wsadmin Scripting 工具。
- 將資產匯入至配置。
資產代表應用程式二進位檔,內含在目標執行時期環境中執行,且用來處理用戶端要求的商業邏輯。資產可以包含 壓縮檔 (zip) 或 Java™ 保存檔 (JAR) 等之類檔案的保存檔,或包含 Java Platform Enterprise Edition (Java EE) 企業保存檔 (EAR) 等之類保存檔的保存檔。舉例來說,資產可以是 EAR 檔、共用程式庫 JAR 檔,以及 Proxy 伺服器的自訂顧問。
請使用 importAsset 指令,將資產匯入至應用程式伺服器的配置儲存庫。請參閱 AdminTask 物件的 BLAManagement 指令群組說明文件,以取得其他參數和步驟選項。
就本例來說,指令會新增三個資產到資產儲存庫。其中兩個資產是非 Java EE 資產,另一個是企業資產。下列指令是將 asset1.zip 資產匯入至資產儲存庫,並將傳回的配置 ID 設定給 asset1 變數:
asset1 = AdminTask.importAsset('-source c:/ears/asset1.zip')
asset1 = AdminTask.importAsset('-source /ears/asset1.zip')
下列指令只會匯入 asset2.zip 資產 meta 資料、將資產名稱設為 testAsset.zip、設定部署目錄、指定資產是測試用,以及將傳回的配置 ID 設定給 testasset 變數:
testasset = AdminTask.importAsset('-source c:/ears/asset2.zip -storageType METADATA –AssetOptions [[.* testAsset.zip .* "asset for testing" c:/installedAssets/testAsset.zip/BASE/testAsset.zip "" "" "" false]]')
testasset = AdminTask.importAsset('-source /ears/asset2.zip -storageType METADATA –AssetOptions [[.* testAsset.zip .* "asset for testing" /installedAssets/testAsset.zip/BASE/testAsset.zip "" "" "" false]]')
下列指令是匯入 defaultapp.ear 資產(其中儲存所有應用程式二進位檔),並將傳回的配置 ID 設定給 J2EEAsset 變數:
J2EEAsset = AdminTask.importAsset('-source c:/ears/defaultapplication.ear –storageType FULL –AssetOptions [[.* defaultapp.ear .* "desc" "" "" "" "" false]]')
J2EEAsset = AdminTask.importAsset('-source /ears/defaultapplication.ear –storageType FULL –AssetOptions [[.* defaultapp.ear .* "desc" "" "" "" "" false]]')
在應用程式伺服器配置儲存庫中,您屬意的資產會登錄成指名的配置構件,這稱為資產登錄。使用 listAssets 指令,顯示已登錄的資產清單,並驗證設定正確,如下列範例所示:AdminTask.listAssets('-includeDescription true -includeDeplUnit true')
- 建立空的商業層次應用程式。 使用 createEmptyBLA 指令,建立新的商業層次應用程式,並將傳回的配置 ID 設定給 myBLA 變數,如下列範例所示:系統會建立商業層次應用程式。使用 listBLAs 指令,顯示 Cell 中的每一個商業層次應用程式清單,如下列範例所示:
myBLA = AdminTask.createEmptyBLA('-name myBLA -description "BLA that contains asset1, asset2, and J2EEAsset"')
AdminTask.listBLAs()
- 將資產當成組合單元,新增至商業層次應用程式。
組合單元可以代表已部署的資產、其他商業層次應用程式,或是部署在非 Application Server 執行時期上,且無支持資產的外部構件。商業層次應用程式含有零或多個組合單元。您無法將同一組合單元新增至多個商業層次應用程式,但是可以使用一個資產,來建立多個組合單元。
使用 addCompUnit 指令,將資產當成組合單元,新增至商業層次應用程式。下列指令是將 asset1.zip 資產當成組合單元,新增至 myBLA 商業層次應用程式,並將部署對映至 server1 伺服器:AdminTask.addCompUnit('-blaID myBLA –cuSourceID asset1 -CUOptions [[.* .* compositionUnit1 "composition unit that is backed by asset1" 0]] -MapTargets [[.* server1]] –ActivationPlanOptions [[.* specname=actplan0+specname=actplan1]]')
下列指令是將 testAsset.zip 資產當成組合單元,新增至 myBLA 商業層次應用程式,並將部署對映至 server1 和 testServer 伺服器:AdminTask.addCompUnit('-blaID myBLA –cuSourceID asset2 -CUOptions [[.* .* compositionUnit2 "composition unit that is backed by asset2" 0]] -MapTargets [[.* server1+testServer]] –ActivationPlanOptions [.* specname=actplan0+specname=actplan1]')
下列指令是將 defaultapp.ear 資產當成組合單元,新增至 myBLA 商業層次應用程式,並將部署對映至 server1 和 testServer 伺服器:AdminTask.addCompUnit('[-blaID bla1 -cuSourceID ' + J2EEAsset + ' -defaultBindingOptions defaultbinding.ejbjndi.prefix=ejb#defaultbinding.virtual.host=default_host#defaultbinding.force=yes -AppDeploymentOptions [-appname defaultapp] -MapModulesToServers [["Default Web Application" .* WebSphere:cell=cellName,node=nodeName,server=server1] ["Increment EJB module" .* Websphere:cell=cellName,node=nodeName,server=testServer]] -CtxRootForWebMod [["Default Web Application" .* myctx/]]]')
- 儲存配置變更。 請利用下列指令範例來儲存您的配置變更:
AdminConfig.save()
- 同步化節點。 依下列範例示範方式,使用 AdminNodeManagement Script 程式庫中的 syncActiveNodes Script 來同步化您環境中的每一個作用中節點:
AdminNodeManagement.syncActiveNodes()
- 啟動商業層次應用程式。 使用 startBLA 指令,在配置了組合單元的部署目標上,啟動商業層次應用程式的每一個組合單元,如下列範例所示:
AdminTask.startBLA('-blaID myBLA')
結果
系統將資產支持的三個組合單元,新增至新的商業層次應用程式。這三個資產都已部署在 server1 伺服器上,並且已啟動。此外,testAsset.zip 和 defaultapp.ear 資產也已部署在 testServer 伺服器上,並且已啟動。


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=txml_7createbla
檔名:txml_7createbla.html