使用 wsadmin 脚本编制来设置业务级应用程序
您可以创建空的业务级应用程序,然后将资产、共享库或业务级应用程序作为组合单元添加到空的业务级应用程序。
开始之前
在可以创建业务级应用程序前,请确定要添加到您的应用程序中的资产或其他文件。
另外,请验证是否已配置目标应用程序服务器。在配置该服务器的过程中,请确定您的应用程序文件是否可以在部署目标上运行。
关于此任务
过程
- 启动 wsadmin 脚本编制工具。
- 将资产导入配置。
资产所代表的应用程序二进制文件包含业务逻辑,该业务逻辑可以在目标运行时环境上运行并服务客户机请求。资产可以包含文件归档,例如已压缩的文件 (zip) 或 Java™ 归档 (JAR) 文件,也可以包含归档文件的归档,例如 Java Platform, Enterprise Edition (Java EE) 企业归档 (EAR) 文件。资产的示例包括 EAR 文件、共享库 JAR 文件,以及代理服务器的定制顾问程序。
使用 importAsset 命令,将资产导入应用程序服务器配置库。请参阅“AdminTask 对象的 BLAManagement 命令组”的文档,以获取其他参数和步骤选项。
对于本示例,这些命令会将三个资产添加到资产存储库。其中两个资产为非 Java EE 资产,而另一个资产为企业资产。以下命令会将 asset1.zip 资产导入资产存储库,并将返回的配置标识设为 asset1 变量:
asset1 = AdminTask.importAsset('-source c:/ears/asset1.zip')
asset1 = AdminTask.importAsset('-source /ears/asset1.zip')
以下命令将仅导入 asset2.zip 资产元数据,将资产名称设为 testAsset.zip,设置部署目录,指定将该资产用于测试,然后将返回的配置标识设为 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 资产(在导入过程中存储所有应用程序二进制文件),并将返回的配置标识设为 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 命令来创建新的业务级应用程序,并将返回的配置标识设为 myBLA 变量,如以下示例所示:系统会创建该业务级应用程序。使用 listBLAs 命令来显示单元中每个业务级应用程序的列表,如以下示例所示:
myBLA = AdminTask.createEmptyBLA('-name myBLA -description "BLA that contains asset1, asset2, and J2EEAsset"')
AdminTask.listBLAs()
- 将资产作为组合单元添加到业务级应用程序。
组合单元可以代表已部署的资产、其他业务级应用程序或外部工件(已在非应用程序服务器运行时上部署,但无后备资产)。业务级应用程序包含零个或更多的组合单元。无法将同一组合单元添加到多个业务级应用程序,但您可以使用一个资产来创建多个组合单元。
使用 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 脚本库中的 syncActiveNodes 脚本,对环境中每个处于活动状态的节点进行同步,如以下示例所示:
AdminNodeManagement.syncActiveNodes()
- 启动业务级应用程序。 使用 startBLA 命令来启动部署目标上业务级应用程序的每个组合单元(已针对部署目标配置这些组合单元),如以下示例所示:
AdminTask.startBLA('-blaID myBLA')
结果
系统会将资产所备份的三个组合单元添加到新的业务级应用程序。会在 server1 服务器上分别部署并启动这三个资产。还会在 testServer 服务器上部署并启动 testAsset.zip 和 defaultapp.ear 资产。


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