使用 wsadmin 脚本编制的 AdminTask 对象的 BLAManagement 命令组
可以使用 Jython 脚本编制语言,通过 wsadmin 工具来配置和管理业务级应用程序。使用 BLAManagement 组中的命令和参数,在配置中创建、编辑、导出、删除以及查询业务级应用程序。
为了配置和管理业务级应用程序,您必须使用“配置员”管理角色。
deleteAsset
deleteAsset 命令用于从业务级应用程序配置中移除资产。在使用此命令之前,请验证未将任何组合单元与相关资产相关联。如果该资产已与组合单元相关联,那么此命令将失败。
目标对象
无
必需参数
- -assetID
- 指定要删除的资产的配置标识。只要系统可以将 assetID 参数的不完整标识与唯一资产相匹配,此命令就可以接受不完整标识。(字符串,必需)
可选参数
- -force
- 指定即使其他资产依赖于此资产,是否仍要强制系统删除此资产。(布尔值,可选)
返回值
WebSphere:assetname=asset2.zip
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.deleteAsset('-assetID asset2.zip -force true')
- 使用 Jython 列表:
AdminTask.deleteAsset(['-assetID', 'asset2.zip', '-force', 'true'])
交互方式示例用法
- 使用 Jython:
AdminTask.deleteAsset('-interactive')
editAsset
editAsset 命令会修改其他资产配置选项。可以使用此命令来修改描述、目标 URL、资产关系、文件许可权以及验证设置。
目标对象
无
必需参数
- -assetID
- 指定要编辑的资产的配置标识。只要系统可以将不完整的配置标识与唯一资产标识相匹配,此参数就可以接受不完整的配置标识。(字符串,必需)
可选步骤
- -AssetOptions
- 使用 AssetOptions 步骤和以下参数来设置资产的其他属性。
- inputAsset(只读)
- 指定资产的源程序包。
- name(只读)
- 指定资产的名称。此参数的缺省值为源程序包的文件名。
- defaultBindingProps(只读)
- 指定资产的缺省绑定属性。此参数只适用于企业资产。对于不是企业资产的资产,请指定星号字符 (*) 以进行模式匹配。对于企业资产,请指定 .* 值以将此参数设为非空值。
- description
- 指定资产的描述。
- destinationUrl
- 指定要部署的资产二进制文件的 URL。
- typeAspect
- 指定资产类型侧重面。
- relationship
- 指定资产关系。使用加号字符 (+) 将其他资产添加到现有关系。使用编号符号字符 (#) 从关系中删除现有资产。要替换现有关系,请指定 importAsset 命令中所指定的相同语法。如果在关系中指定的资产不存在,造成无法添加或更新,那么此命令会返回异常。
- filePermission
- 指定文件许可权配置。
- validate
- 指定是否要验证资产。缺省值为 false。产品没有保存针对 validate 指定的值。因此,如果选择现在验证资产 (true) 并稍后编辑该资产,那么在您编辑该资产时,必须再次启用此设置,才能让产品验证所更新的文件。
- -UpdateAppContentVersions
- 对于 EBA 资产,使用此步骤和下列参数来选择资产的捆绑软件版本。
对于转换用户: 在 WebSphere® Application Server V7 FP for OSGi Applications and Java™ Persistence API 2.0 中,通过重新启动业务级应用程序来应用对资产的捆绑软件的更改。在 V8.x 中,通过更新组合单元来应用这些更改。V8.x 中的新方法意味着可以在原地应用许多捆绑软件更改,而无需重新启动运行中的业务级应用程序。为了启用这种新方法,已将 UpdateAppContentVersionsStep 参数替换为 UpdateAppContentVersions 参数,并且,您可以运行指定了 CompUnitStatusStep 参数的 editCompUnit 命令,而无需重新启动业务级应用程序。trns
- bundle_name
- 指定捆绑软件的名称。
- current_version
- 指定捆绑软件版本号(例如 1.0.0),对于已在应用程序清单中声明但未由运行时环境部署的共享捆绑软件(即 use bundle),则为 NOT_DEPLOYED)。此参数描述了捆绑软件的当前配置,但不用于更改配置。
- update_preference
- 指定新的捆绑软件版本首选项。这是捆绑软件版本号(例如,1.0.0)或 NOT_DEPLOYED(对于共享捆绑软件)或 NO_PREF(如果希望系统为您选择捆绑软件版本)。如果不希望更新给定的捆绑软件的版本,那么将此属性设置为与 current_version 属性使用相同的值。
- 针对应用程序清单中列示的每个捆绑软件,在 application content 头与 use bundle 头之间包括一个条目(即 bundle_name current_version 和 update_preference)。包括每一个捆绑软件,无论您是否正在更新捆绑软件版本。
- 指定以下语法:
AdminTask.editAsset('[ -assetID asset_name -UpdateAppContentVersions [ [bundle_1_name current_version update_preference] [bundle_2_name current_version update_preference] [bundle_3_name current_version update_preference] [bundle_4_name current_version update_preference] [bundle_5_name current_version update_preference] ]]')
返回值
此命令会返回相关资产的配置标识。
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.editAsset('-assetID asset3.zip –AssetOptions [[.* asset3.zip * "asset for testing" c:/installedAssets/asset3.zip/BASE/asset3.zip "" assetname=a.jar "" false]]')
- 使用 Jython 列表:
AdminTask.editAsset(['-assetID', 'asset3.zip', '–AssetOptions', '[[.* asset3.zip * "asset for testing" c:/installedAssets/asset3.zip/BASE/asset3.zip "" assetname=a.jar "" false]]'])
- 使用 Jython 字符串:
AdminTask.editAsset('-assetID defaultapp.ear –AssetOptions [[.* defaultapp.ear .* "asset for testing" "" "" "" "" false]]')
- 使用 Jython 列表:
AdminTask.editAsset(['-assetID', 'defaultapp.ear', '–AssetOptions', '[[.* defaultapp.ear .* "asset for testing" "" "" "" "" false]]'])
交互方式示例用法
- 使用 Jython:
AdminTask.editAsset('-interactive')
exportAsset
exportAsset 命令会将资产配置导出到文件。
目标对象
无
必需参数
- -assetID
- 指定要导出的资产的配置标识。只要不完整的配置标识与唯一资产相匹配,此参数就可以接受不完整的配置标识。(字符串,必需)
- -filename
- 指定系统会将资产配置导出到的文件的名称。(DownloadFile,必需)
返回值
此命令不会返回输出。
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.exportAsset('-assetID asset2.zip –filename c:/temp/a2.zip')
- 使用 Jython 列表:
AdminTask.exportAsset(['-assetID', 'asset2.zip', '–filename', 'c:/temp/a2.zip'])
交互方式示例用法
- 使用 Jython:
AdminTask.exportAsset('-interactive')
importAsset
importAsset 命令会将资产配置导入到资产存储库。在导入资产之后,您可以将这些资产作为组合单元添加到业务级应用程序。
目标对象
无
必需参数
- -source
- 指定要导入的源文件的名称。(UploadFile,必需)
可选参数
- -storageType
- 指定系统将资产保存在资产存储库中的方式。缺省资产存储库会存储完整二进制文件、二进制文件的元数据或不存储二进制文件。指定 FULL 以存储完整二进制文件。指定 METADATA 以存储二进制文件的元数据部分。指定 NONE 以便不将任何二进制文件存储在资产存储库中。缺省值为 FULL。(字符串,可选)
可选步骤
- -AssetOptions
- 使用 AssetOptions 步骤和以下参数来设置资产的其他属性。
- inputAsset(只读)
- 指定资产的源程序包。
- name
- 指定资产的名称。资产的文件扩展名必须与源程序包的文件扩展名相匹配。此参数的缺省值为源程序包的文件名。
- defaultBindingProps(只读)
- 指定资产的缺省绑定属性。此参数只适用于企业资产。对于不是企业资产的资产,请指定星号字符 (*) 以进行模式匹配。对于企业资产,请指定 .* 值以将此参数设为非空值。
- description
- 指定资产的描述。
- destinationUrl
- 指定要部署的资产二进制文件的 URL。
- typeAspect
- 指定资产类型侧重面。以对象名格式指定 typeAspect 选项,如以下语法所示:spec=xxx
- relationship
- 指定资产关系。使用加号字符 (+) 来指定多种资产关系。如果在关系中指定的资产不存在,那么此命令会返回异常。
- filePermission
- 指定文件许可权配置。
OSGi 应用程序不使用 filePermission 值。
- validate
- 指定是否要验证资产。缺省值为 false。产品没有保存针对 validate 指定的值。因此,如果选择现在验证资产 (true) 并稍后编辑该资产,那么在您编辑该资产时,必须再次启用此设置,才能让产品验证所更新的文件。
OSGi 应用程序不使用验证值。
返回值
WebSphere:assetname=asset2.zip
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.importAsset('-source c:\ears\asset1.zip -storageType NONE')
- 使用 Jython 列表:
AdminTask.importAsset(['-source', 'c:\ears\asset1.zip', '-storageType', 'NONE'])
- 使用 Jython 字符串:
AdminTask.importAsset('-source c:\ears\asset1.zip -storageType METADATA –AssetOptions [[.* asset2.zip .* "asset for testing" c:/installedAssets/asset2.zip/BASE/asset2.zip "" "" "" "" false]]')
- 使用 Jython 列表:
AdminTask.importAsset(['-source', 'c:\ears\asset1.zip', '-storageType', 'METADATA', '–AssetOptions', '[[.* asset2.zip .* "asset for testing" c:/installedAssets/asset2.zip/BASE/asset2.zip "" "" "" "" false]]')
- 使用 Jython 字符串:
AdminTask.importAsset('[-source c:\ears\asset3.zip -storageType FULL –AssetOptions [[.* asset3.zip .* "asset for testing" "" spec=zip assetname=a.jar+assetname=b.jar "" false]]]')
- 使用 Jython 列表:
AdminTask.importAsset(['-source', 'c:\ears\asset3.zip', '-storageType', 'FULL', '–AssetOptions', '[[.* asset3.zip .* "asset for testing" "" spec=zip assetname=a.jar+assetname=b.jar "" false]]'])
- 使用 Jython 字符串:
AdminTask.importAsset('-source c:\ears\defaultapplication.ear –storageType FULL –AssetOptions [[.* defaultapp.ear .* "desc" "" "" "" false]]')
- 使用 Jython 列表:
AdminTask.importAsset(['-source', 'c:\ears\defaultapplication.ear', '–storageType', 'FULL', '–AssetOptions', '[[.* defaultapp.ear .* "desc" "" "" "" false]]'])
交互方式示例用法
- 使用 Jython:
AdminTask.importAsset('-interactive')
listAssets
listAssets 命令会显示单元中每项资产的配置标识。
目标对象
无
可选参数
- -assetID
- 指定相关资产的配置标识。只要不完整的配置标识与唯一资产相匹配,此参数就可以接受不完整的配置标识。(字符串,可选)
- -includeDescription
- 指定是否要包括此命令所返回的每项资产的描述。指定 true 以显示资产描述。(字符串,可选)
- -includeDeplUnit
- 指定是否要显示此命令所返回的每项资产的可部署单元。指定 true 以显示可部署单元。(字符串,可选)
返回值
WebSphere:assetname=asset1.zip
“asset for testing”
WebSphere:assetname=asset2.zip
“second asset for testing”
a.jar
WebSphere:aasetname=asset3.zip
“third asset for testing”
a1.jar+a2.jar
WebSphere:assetname=a.jar0
“a.jar for sharedlib”
WebSphere:assetname=b.jar
“b.jar for sharedlib”
WebSphere:assetname=defaultapp.ear
“default app”
批处理方式示例用法
- 使用 Jython:
AdminTask.listAssets()
- 使用 Jython 字符串:
AdminTask.listAssets('-assetID asset1.zip')
- 使用 Jython 列表:
AdminTask.listAssets(['-assetID asset1.zip'])
- 使用 Jython 字符串:
AdminTask.listAssets('-includeDescription true –includeDeplUnit true')
- 使用 Jython 列表:
AdminTask.listAssets(['-includeDescription', 'true', '–includeDeplUnit', 'true')
交互方式示例用法
- 使用 Jython:
AdminTask.listAssets('-interactive')
updateAsset
updateAsset 命令会修改资产的一个或多个文件或模块文件。此命令会更新资产二进制文件,但不会更新系统将其与资产一起部署来作为备份对象的组合单元。
目标对象
无
必需参数
- -assetID
- 指定要更新的资产的配置标识。只要不完整的配置标识与唯一资产相匹配,此参数就可以接受不完整的配置标识。(字符串,必需)
- -operation
- 指定要对相关资产进行调用的操作。(字符串,必需)
- 下表显示您可以对资产进行调用的每项操作:
表 1. updateAsset 支持的操作. 指定其中一项操作。 操作 描述 replace replace 操作会替换相关资产的内容。 merge merge 操作会更新资产的多个文件,但并不会更新所有文件。 add add 操作会添加新文件或模块文件。 addupdate addupdate 操作会添加或更新一个文件或模块文件。如果文件不存在,那么系统会添加内容。如果文件存在,那么系统会更新该文件。 更新 update 操作会更新一个文件或模块文件。 删除 delete 操作会删除一个文件或模块文件。 - -contents
- 指定包含要添加或更新的内容的文件。delete 操作不需要此参数。(UploadFile,可选)
可选参数
- -contenturi
- 指定要在资产中添加、更新或移除的文件的统一资源标识 (URI)。merge 或 replace 操作不需要此参数。(字符串,可选)
可选步骤
- -AssetOptions
- 使用 AssetOptions 步骤和以下参数来设置资产的其他属性。
- name(只读)
- 指定资产的名称。此参数的缺省值为源程序包的文件名。
- defaultBindingProps(只读)
- 指定资产的缺省绑定属性。此参数只适用于企业资产。对于不是企业资产的资产,请指定星号字符 (*) 以进行模式匹配。对于企业资产,请指定 .* 值以将此参数设为非空值。
- description
- 指定资产的描述。
- destinationUrl
- 指定要部署的资产二进制文件的 URL。
- typeAspect
- 指定资产类型侧重面。
- relationship
- 指定资产关系。使用加号字符 (+) 将其他资产添加到现有关系。使用编号符号字符 (#) 从关系中删除现有资产。要替换现有关系,请指定 importAsset 命令中所指定的相同语法。如果在关系中指定的资产不存在,造成无法添加或更新,那么此命令会返回异常。
- filePermission
- 指定文件许可权配置。
- validate
- 指定是否要验证资产。缺省值为 false。产品没有保存针对 validate 指定的值。因此,如果选择现在验证资产 (true) 并稍后编辑该资产,那么在您编辑该资产时,必须再次启用此设置,才能让产品验证所更新的文件。
- updateAssociatedCUs
- 指定是否更新与企业 (Java EE) 资产相关联的组合单元。此参数只适用于企业资产。缺省值为 none。指定 all 以更新与企业资产相关联的所有组合单元。
对于 replace 操作,请对 AssetOptions 名称、defaultBindingProps、description、destinationUrl、typeAspect、relationship、filePermission、validate 以及 updateAssociatedCUs 参数指定值。对于除 replace 以外的操作,请对 AssetOptions 名称和 updateAssociatedCU 参数指定值。
返回值
此命令会返回相关资产的配置标识。
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.updateAsset('-assetID asset1.zip -operation replace -contents c:/temp/a.zip')
- 使用 Jython 列表:
AdminTask.updateAsset(['-assetID', 'asset1.zip', '-operation', 'replace', '-contents', 'c:/temp/a.zip'])
- 使用 Jython 字符串:
AdminTask.updateAsset('-assetID asset1.zip –operation merge –contents c:/temp/p.zip')
- 使用 Jython 列表:
AdminTask.updateAsset(['-assetID', 'asset1.zip', '–operation', 'merge', '–contents', 'c:/temp/p.zip'])
- 使用 Jython 字符串:
AdminTask.updateAsset('-assetID defaultapp.ear –operation add –contents c:/temp/filename.jar –contenturi filename.jar')
- 使用 Jython 列表:
AdminTask.updateAsset(['-assetID', 'defaultapp.ear', '–operation', 'add', '–contents', 'c:/temp/filename.jar', '–contenturi', 'filename.jar'])
- 使用 Jython 字符串:
AdminTask.updateAsset('-assetID defaultapp.ear –operation replace –contents c:/temp/newapp.ear –AssetOptions [[defaultapp.ear .* newdesc "" "" "" "" false all]]')
- 使用 Jython 列表:
AdminTask.updateAsset(['-assetID', 'defaultapp.ear', '–operation', 'replace', '–contents', 'c:/temp/newapp.ear', '–AssetOptions [[defaultapp.ear .* newdesc "" "" "" "" false all]]'])
- 使用 Jython 字符串:
AdminTask.updateAsset('-assetID defaultapp.ear –operation merge –contents c:/temp/newapp.ear –AssetOptions [[defaultapp.ear all]]')
- 使用 Jython 列表:
AdminTask.updateAsset(['-assetID', 'defaultapp.ear', '–operation', 'merge', '–contents', 'c:/temp/newapp.ear', '–AssetOptions [[defaultapp.ear all]]'])
交互方式示例用法
- 使用 Jython:
AdminTask.updateAsset('-interactive')
viewAsset
viewAsset 命令会显示其他资产配置选项及所配置的值。
目标对象
无
必需参数
- -assetID
- 指定相关资产的配置标识。只要不完整的配置标识与唯一资产相匹配,此参数就可以接受不完整的配置标识。(字符串,必需)
可选参数
无
返回值
Specify Asset options (AssetOptions)
Specify options for Asset.
*Asset Name (name): [defaultapp.ear]
Default Binding Properties (defaultBindingProps):
[defaultbinding.ejbjndi.prefix#defaultbinding.datasource.jndi#defaultbinding.datasource.username
#defaultbinding.datasource.password#defaultbinding.cf.jndi
#defaultbinding.cf.resauth#defaultbinding.virtual.host#defaultbinding.force]
Asset Description (description): []
Asset Binaries Destination Url (destination): [${USER_INSTALL_ROOT}/installedAssets/defaultapp.ear/BASE/defaultapp.ear]
Asset Type Aspects (typeAspect): [WebSphere:spec=j2ee_ear]
Asset Relationships (relationship): []File Permission (filePermission): [.*\\.dll=755#.*\\.so=755#.*\\.a=755#.*\\.sl=755]
Validate asset (validate): [false]
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.viewAsset('-assetID asset3.zip')
- 使用 Jython 列表:
AdminTask.viewAsset(['-assetID', 'asset3.zip'])
交互方式示例用法
- 使用 Jython:
AdminTask.viewAsset('-interactive')
addCompUnit
addCompUnit 命令会将组合单元添加到特定的业务级应用程序。组合单元表示业务级应用程序中的资产,并使资产内容能够与应用程序中的其他资产进行交互。它还使产品运行时能够装入和运行资产内容。
目标对象
无
必需参数
- -blaID
- 指定相关业务级应用程序的配置标识。(字符串,必需)
- -cuSourceID
- 指定要添加的组合单元的源配置标识。您可以指定资产标识或业务级应用程序标识。(字符串,必需)
可选参数
- -deplUnits
- 指定要针对资产进行部署的可部署单元。您可以指定可部署单元子集或所有可部署单元,或将缺省可部署单元用作共享库。如果未指定此参数,那么系统会部署每个可部署单元。(字符串,可选)
- 对于 Java EE 资产,系统将忽略这个 -deplUnits 参数,并且无论指定的值为何,都可以作为此命令的组成部分而添加 Java EE 资产。
- -cuConfigStrategyFile
- 指定定制缺省绑定属性的标准文件路径。此参数只适用于企业资产。(字符串,可选)
- -defaultBindingOptions
- 指定企业资产的可选 Java 命名和目录接口 (JNDI) 绑定属性。绑定属性是否可用,依赖于企业资产的类型。使用格式 property=value 来指定缺省绑定属性。要指定多个属性,请使用定界符 # 来分隔每个 property=value 语句。
- 现在,可以在创建资产时指定绑定属性,或稍后在将资产作为组合单元添加到业务级应用程序时指定绑定属性。如果稍后在将资产添加到业务级应用程序时指定绑定属性,那么可以使用策略文件来指定绑定属性。(字符串,可选)
- 将以下选项与 defaultBindingOptions 参数配合使用:
表 2. addCompUnit -defaultBindingOptions 支持的绑定属性. 指定资产类型所支持的绑定属性。 企业资产类型 支持的绑定属性 企业 Bean (EJB) defaultbinding.ejbjndi.prefix
defaultbinding.force
数据源 defaultbinding.datasource.jndi
defaultbinding.datasource.username
defaultbinding.datasource.password
defaultbinding.force
连接工厂 defaultbinding.cf.jndi
defaultbinding.cf.resauth
defaultbinding.force
虚拟主机 defaultbinding.virtual.host
defaultbinding.force
可选步骤
- -CUOptions
- 指定组合单元的其他属性。对 CUOptions 步骤指定以下选项:
- parentBLA(只读)
- 指定新组合单元的父业务级应用程序。
- backingID(只读)
- 指定组合单元源标识。
- name
- 指定组合单元的名称。
- description
- 指定组合单元的描述。
- startingWeight
- 指定组合单元的启动权重。支持的值介于 1 到 2147483647(最大整数值)之间。
- startedOnDistributed
- 指定是否要在将更改分布到目标节点之后启动组合单元。缺省值为 false。
- restartBehaviorOnUpdate
- 指定要在编辑组合单元之后重新启动的节点。指定 ALL 以重新启动每个目标节点。指定 DEFAULT 以重新启动同步插件所控制的节点。指定 NONE 以阻止系统重新启动节点。
- 例如,将此步骤的语法指定为 -CUOptions [[.* .* cu4 “cu4 desc” 0 false DEFAULT]]
- -MapTargets
- 指定组合单元目标映射的其他属性。对 MapTargets 步骤指定以下选项:
- deplUnit(只读)
- 指定可部署单元统一资源标识 (URI)。
- 对于企业捆绑软件归档 (EBA) 资产,此 URI 是 ebaDeploymentUnit。
- server
- 指定目标以部署组合单元。缺省值为 server1 服务器。使用加号字符 (+) 来指定多个目标。将加号字符 (+) 用作前缀来添加其他目标。指定每个服务器(不是 WebSphere Application Server 服务器)的完整对象名格式。
- 例如,将此步骤的语法指定为 -MapTargets [[a1.jar cluster1+cluster2] [a2.jar +server2]]。
- -ActivationPlanOptions
- 指定组合单元激活计划的其他属性。对 ActivationPlanOptions 步骤指定以下选项:
- deplUnit(只读)
- 指定可部署单元统一资源标识 (URI)。
- activationPlan
- 将运行时组件列表指定为激活计划。使用格式 specName=xxx,specVersion=yyy 指定每个激活计划,其中 specName 表示规范的名称,且必须指定。使用加号字符 (+) 来指定多个激活计划。
- 例如,将此步骤的语法指定为 -ActivationPlanOptions [[a1.jar specname=actplan0+specname=actplan1] [a2.jar specname=actplan1+specname=actplan2]]。
- 对于 EBA 资产,请使用以下缺省值:-ActivationPlanOptions [[default ""]]
- -CreateAuxCUOptions
- 指定辅助组合单元的其他属性。如果组合单元源是一项资产,此资产所对应的资产在业务级应用程序中没有匹配的组合单元,请使用此步骤。对 CreateAuxCUOptions 步骤指定以下选项:
- deplUnit(只读)
- 指定可部署单元统一资源标识 (URI)。
- inputAsset(只读)
- 指定组合单元源标识。
- cuID
- 指定系统针对资产创建的组合单元标识。如果不想创建新组合单元,请不要指定此参数。
- matchTarget
- 指定是否要使依赖性辅助组合单元的目标,与新组合单元的目标相匹配。缺省值为 true。
- 产品不会保存针对 matchTarget 指定的值。因此,如果您现在选择不与目标匹配 (false) 并稍后编辑组合单元,那么在您编辑该组合单元时,必须再次禁用此设置,才能使产品不与目标相匹配。
- 例如,将此步骤的语法指定为 –CreateAuxCUOptions [[a1.jar a.jar auxCU true] [a2.jar a.jar defaultCU false]]。
- -RelationshipOptions
- 指定资产、组合单元及业务级应用程序之间的关系的其他属性。如果组合单元的源标识是一项资产,此资产在业务级应用程序中具有匹配的组合单元,请使用此步骤。对 RelationshipOptions 步骤指定以下选项:
- deplUnit(只读)
- 指定可部署单元统一资源标识 (URI)。
- relationship
- 定义组合单元关系。使用格式 cuName=xxx 指定组合单元对象名。在关系中使用加号字符 (+) 来指定多个组合单元对象名。如果在关系中指定的组合单元不在同一业务级应用程序下,那么系统会返回错误。
- matchTarget
- 指定是否要使组合单元关系的目标,与新组合单元的目标相匹配。缺省值为 true。
- 产品不会保存针对 matchTarget 指定的值。因此,如果您现在选择不与目标匹配 (false) 并稍后编辑组合单元,那么在您编辑该组合单元时,必须再次禁用此设置,才能使产品不与目标相匹配。
- 例如,将此步骤的语法指定为 –RelationshipOptions [[a1.jar a.jar auxCU true] [a2.jar a.jar defaultCU false]]。
- -ContextRootStep
- 对于 EBA 资产,上下文根确定运行时在何处查找特定 Web 应用程序包 (WAB) 的 Web 页面。
- 此处指定的上下文根与定义的服务器映射共同组成您访问 WAB 页面时输入的完整 URL。例如,如果应用程序服务器缺省主机是 www.example.com:8080,而 WAB 的上下文根是 /sample,那么可以在 www.example.com:8080/sample 处找到 Web 页面。
- 您应该列示 OSGi 应用程序中包含的所有 WAB 模块的上下文根。
- 指定此步骤的语法,如下所示:
-ContextRootStep [ [bundle_symbolic_name_1 bundle_version_1 context_root_1] [bundle_symbolic_name_2 bundle_version_2 context_root_2]]
- 例如,对于包含两个 WAB(com.ibm.ws.eba.helloWorldService.web V1.0.0,它将映射到
/hello/web,以及 com.ibm.ws.eba.helloWorldService.withContextRoot
V0.9.0,它将映射到 /hello/service)的 EBA 文件,此命令的这部分内容如下所示:
-ContextRootStep [ [com.ibm.ws.eba.helloWorldService.web 1.0.0 “/hello/web”] [com.ibm.ws.eba.helloWorldService.withContextRoot 0.9.0 “/hello/service”]]
- -VirtualHostMappingStep
- 对于 EBA 资产,可以使用虚拟主机使唯一端口与模块或应用程序相关联。虚拟主机的别名标识了为该虚拟主机定义的端口号。在用来访问 Web 模块工件(例如 Servlet 和 JavaServer Page (JSP) 文件)的 URL 中,将使用虚拟主机别名中指定的端口号。例如,别名 myhost:8080 是 URL http://myhost:8080/sample 的 host_name:port_number 部分。
- 部署的资产中包含的每个 WAB 都必须映射到虚拟主机。WAB 可以安装在同一虚拟主机上,也可以分散安装在多个虚拟主机上。
- 如果在给定 WAB 的 ibm-web-bnd.xml 或 .xmi
文件中指定了现有虚拟主机,那么缺省情况下将设置指定的虚拟主机。否则,缺省虚拟主机设置是
default_host,它通过其别名提供了多个端口号:
- 80
- 未指定端口号时使用的内部不安全端口
- 9080
- 内部端口
- 9443
- 外部安全端口
- 除非要将 WAB 与同一节点(物理机器)上的其他 WAB 或资源隔离,否则 default_host 是合适的虚拟主机。WebSphere Application Server 不仅提供了 default_host,还提供了 admin_host,这是管理控制台系统应用程序的虚拟主机。admin_host 使用端口 9060 运行。它的安全端口是 9043。除非 WAB 与系统管理相关,否则请勿选择 admin_host。
- 指定此步骤的语法,如下所示:
-VirtualHostMappingStep [ [bundle_symbolic_name_1 bundle_version_1 web_module_name_1 virtual_host_1] [bundle_symbolic_name_2 bundle_version_2 web_module_name_2 virtual_host_2]]
- 例如,对于包含两个 WAB(com.ibm.ws.eba.helloWorldService.web V1.0.0,它将映射到 default_host,以及 com.ibm.ws.eba.helloWorldService.withContextRoot V0.9.0,它将映射到
test_host)的 EBA 文件,此命令的这部分内容如下所示:
-VirtualHostMappingStep [ [com.ibm.ws.eba.helloWorldService.web 1.0.0 “HelloWorld service” default_host] [com.ibm.ws.eba.helloWorldService.withContextRoot 0.9.0 “HelloWorld second service” test_host]]
- -MapRolesToUsersStep
- 对于 EBA 资产,请使用此步骤将安全角色映射到用户或组。
- 指定此步骤的语法,如下所示:
-MapRolesToUsersStep [ [role_name everyone? all_authenticated_in_realm? usernames groups]]
键:- role_name 是应用程序中定义的角色名称。
- everyone? 将设置为 Yes 或 No,以指定是否每个人都具有该角色。
- all_authenticated_in_realm? 将设置为 Yes 或 No,以指定是否所有已认证的用户都可以访问应用程序领域。
- usernames 是以“|”字符进行分隔的 WebSphere Application Server 用户名列表。
- groups 是以“|”字符进行分隔的 WebSphere Application Server 组列表。
注: 对于 usernames 和 groups,空字符串 "" 表示“使用缺省值或现有值”。缺省值通常是不将任何用户或组与角色绑定。但是,当应用程序包含 ibm-application-bnd.xmi 文件时,将从此文件中获取 usernames 的缺省值。如果要部署包含 ibm-application-bnd.xmi 文件的应用程序并且要移除绑定的用户,请只指定“|”字符(这是指定多个用户名时的分隔符)。这明确指定“无用户”,因此保证不会将任何用户与该角色绑定。 - 例如:
-MapRolesToUsersStep [ [ROLE1 No Yes "" ""] [ROLE2 No No WABTestUser1 ""] [ROLE3 No No "" WABTestGroup1] [ROLE4 Yes No "" ""]]
- -BlueprintResourceRefBindingStep
- 对于 EBA 资产,“蓝图”组件可以访问 WebSphere Application Server 资源引用。每个引用都在蓝图 XML 文件中声明,并且可以使用 Java Platform, Enterprise Edition (Java EE) 连接器体系结构 (JCA) 认证别名进行保护。OSGi 应用程序中的每个捆绑软件可以在其各个“蓝图”XML 文件中包含任意数量的资源引用声明。
- 在保护资源引用时,只能将那些资源引用与部署了 OSGi 应用程序的每个服务器或集群上存在的 JCA 认证别名绑定。OSGi 应用程序可部署到位于同一安全域的多个服务器和集群。因此,每个 JCA 认证别名必须在目标服务器和集群的安全域或全局安全域中存在。
- 指定此步骤的语法,如下所示:
-BlueprintResourceRefBindingStep [ [ bundle_symbolic_name bundle_version blueprint_resource_reference_id interface_name jndi_name authentication_type sharing_setting authentication_alias_name ]]
注: jndi_name 的值必须与蓝图 XML 文件中资源引用元素的 filter 属性中声明的 JNDI 名称匹配。 - 例如,对于包含捆绑软件(com.ibm.ws.eba.helloWorldService.properties.bundle.jar V1.0.0,它将绑定至认证别名 alias1)的 EBA 文件,该命令如下所示:
-BlueprintResourceRefBindingStep[ [com.ibm.ws.eba.helloWorldService.properties.bundle 1.0.0 resourceRef javax.sql.DataSource jdbc/Account Container Shareable alias1]]
- -WebModuleMsgDestRefs
- 对于 EBA 资产,绑定资源引用会将 Web 应用程序的资源依赖关系映射到服务器运行时环境中的实际可用资源。至少,可以通过使用一个指定了 JNDI 名称(用于在运行时环境中标识该资源)的映射来实现此目标。缺省情况下,JNDI 名称是开发 Web 应用程序包 (WAB) 期间在 web.xml 文件中指定的资源标识。按 Java 规范“JSR-250:Java 平台的常用注释”中的定义,使用此选项绑定类型为 message-destination-ref(消息目标引用)或 resource-env-ref(资源环境引用)的资源。
- 指定此步骤的语法,如下所示:
-WebModuleMsgDestRefs [ [ bundle_symbolic_name bundle_version resource_reference_id resource_type target_jndi_name ]]
- 例如:
-WebModuleMsgDestRefs [ [com.ibm.ws.eba.helloWorldService.web 1.0.0 jms/myQ javax.jms.Queue jms/workQ] [com.ibm.ws.eba.helloWorldService.web 1.0.0 jms/myT javax.jms.Topic jms/notificationTopic]]
- -WebModuleResourceRefs
- 对于 EBA 资产,绑定资源引用会将 Web 应用程序的资源依赖关系映射到服务器运行时环境中的实际可用资源。至少,可以通过使用一个指定了 JNDI 名称(用于在运行时环境中标识该资源)的映射来实现此目标。缺省情况下,JNDI 名称是开发 Web 应用程序包 (WAB) 期间在 web.xml 文件中指定的资源标识。按 Java 规范“JSR-250:Java 平台的常用注释”中的定义,使用此选项绑定类型为 resource-ref(资源引用)的资源。
- 指定此步骤的语法,如下所示:
-WebModuleResourceRefs [ [ bundle_symbolic_name bundle_version resource_reference_id resource_type target_jndi_name login_configuration login_properties extended_properties ]]
- 例如:
-WebModuleResourceRefs [ [com.ibm.ws.eba.helloWorldService.web 1.0.0 jdbc/jtaDs javax.sql.DataSource jdbc/helloDs "" "" ""] [com.ibm.ws.eba.helloWorldService.web 1.0.0 jdbc/nonJtaDs javax.sql.DataSource jdbc/helloDsNonJta "" "" “extprop1=extval1”]]
注: 如果使用了多个扩展属性,那么 Jython 语法是 “extprop1=extval1,extprop2=extval2”。
返回值
WebSphere:cuname=cu4
WebSphere:cuname=cua
WebSphere:cuname=cud
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.addCompUnit('-blaID myBLA –cuSourceID assetname=asset1.zip -CUOptions [[.* .* cu1 "cu1 desc1" 0 false DEFAULT]] -MapTargets [[.* server1]] –ActivationPlanOptions [.* specname=actplan0+specname=actplan1]')
- 使用 Jython 列表:
AdminTask.addCompUnit(['-blaID', 'myBLA', '–cuSourceID', 'assetname=asset1.zip', '-CUOptions', '[[.* .* cu1 "cu1 desc1" 0 false DEFAULT]]', '-MapTargets', '[[.* server1]]', '–ActivationPlanOptions', '[.* specname=actplan0+specname=actplan1]'])
- 使用 Jython 字符串:
AdminTask.addCompUnit('-blaID myBLA -cuSourceID yourBLA -CUOptions [[.* .* cu3 "cu3 desc3" 0 false DEFAULT]]')
- 使用 Jython 列表:
AdminTask.addCompUnit(['-blaID', 'myBLA', '-cuSourceID', 'yourBLA', '-CUOptions', '[[.* .* cu3 "cu3 desc3" 0 false DEFAULT]]'])
AdminTask.addCompUnit('[
-blaID WebSphere:blaname=helloWorldService
-cuSourceID WebSphere:assetname=com.ibm.ws.eba.helloWorldService.eba
-CUOptions [
[WebSphere:blaname=helloWorldService.eba
WebSphere:assetname=com.ibm.ws.eba.helloWorldService.eba
com.ibm.ws.eba.helloWorldService_0001.eba "" 1 false DEFAULT]]
-MapTargets [[ebaDeploymentUnit WebSphere:node=node01,server=server1]]
-ActivationPlanOptions [[default ""]]
-ContextRootStep [
[com.ibm.ws.eba.helloWorldService.web 1.0.0 “/hello/web”]
[com.ibm.ws.eba.helloWorldService.withContextRoot 0.9.0 “/hello/service”]]
-VirtualHostMappingStep [
[com.ibm.ws.eba.helloWorldService.web 1.0.0
“HelloWorld service” default_host]
[com.ibm.ws.eba.helloWorldService.withContextRoot 0.9.0
“HelloWorld second service” test_host]]
-MapRolesToUsersStep [
[ROLE1 No Yes "" ""]
[ROLE2 No No WABTestUser1 ""]
[ROLE3 No No "" WABTestGroup1]
[ROLE4 Yes No "" ""]]
-BlueprintResourceRefBindingStep[
[com.ibm.ws.eba.helloWorldService.properties.bundle 1.0.0 resourceRef
javax.sql.DataSource jdbc/Account Container Shareable alias1]]
-WebModuleMsgDestRefs [
[com.ibm.ws.eba.helloWorldService.web 1.0.0
jms/myQ javax.jms.Queue jms/workQ]
[com.ibm.ws.eba.helloWorldService.web 1.0.0
jms/myT javax.jms.Topic jms/notificationTopic]]
-WebModuleResourceRefs [
[com.ibm.ws.eba.helloWorldService.web 1.0.0 jdbc/jtaDs javax.sql.DataSource
jdbc/helloDs "" "" ""]
[com.ibm.ws.eba.helloWorldService.web 1.0.0 jdbc/nonJtaDs javax.sql.DataSource
jdbc/helloDsNonJta "" "" “extprop1=extval1”]]
]')
- 使用 Jython 字符串:
AdminTask.addCompUnit('-blaID theirBLA –cuSourceID asset2.zip –CUOptions [[.* .* cu2 "cu2 desc" 0 false DEFAULT]] -MapTargets [[.* server1+server2]]')
- 使用 Jython 列表:
AdminTask.addCompUnit(['-blaID', 'theirBLA', '–cuSourceID', 'asset2.zip', '–CUOptions', '[[.* .* cu2 "cu2 desc" 0 false DEFAULT]]', '-MapTargets', '[[.* server1+server2]]'])
- 使用 Jython 字符串:
AdminTask.addCompUnit('-blaID yourBLA –cuSourceID asset2.zip –deplUnits a.jar –CUOptions [[.* .* cu3 "cu3 desc" 0 false DEFAULT]] –MapTargets [[a.jar server1]] –ActivationPlanOptions [[a.jar specname=actplan1]]')
- 使用 Jython 列表:
AdminTask.addCompUnit(['-blaID', 'yourBLA', '–cuSourceID', 'asset2.zip', '–deplUnits', 'a.jar', '–CUOptions', '[[.* .* cu3 "cu3 desc" 0 false DEFAULT]]', '–MapTargets', '[[a.jar server1]]', '–ActivationPlanOptions', '[[a.jar specname=actplan1]]'])
- 使用 Jython 字符串:
AdminTask.addCompUnit('-blaID ourBLA –cuSourceID b.jar –deplUnits default –CUOptions [[.* .* cub "cub desc" 0 false DEFAULT]] –MapTargets [[default server1]]')
- 使用 Jython 列表:
AdminTask.addCompUnit(['-blaID', 'ourBLA', '–cuSourceID', 'b.jar', '–deplUnits', 'default', '–CUOptions', '[[.* .* cub "cub desc" 0 false DEFAULT]]', '–MapTargets', '[[default server1]]'])
- 使用 Jython 字符串:
AdminTask.addCompUnit('-blaID ourBLA –cuSourceID asset3.zip –deplUnits a1.jar –CUOptions [[.* .* cu4 "cu4 desc" 0 false DEFAULT]] –MapTargets [[a1.jar cluster1+cluster2]] –CreateAuxCUOptions [[a1.jar a.jar cua true]] –RelationshipOptions [[a1.jar cuname=cub true]]')
- 使用 Jython 列表:
AdminTask.addCompUnit(['-blaID', 'ourBLA', '–cuSourceID', 'asset3.zip', '–deplUnits', 'a1.jar', '–CUOptions', '[[.* .* cu4 "cu4 desc" 0 false DEFAULT]]', '–MapTargets', '[[a1.jar cluster1+cluster2]]', '–CreateAuxCUOptions', '[[a1.jar a.jar cua true]]', '–RelationshipOptions', '[[a1.jar cuname=cub true]]'])
- 使用 Jython 字符串:
AdminTask.addCompUnit('[-blaID yourBLA –cuSourceID defaultapp.ear –defaultBindingOptions defaultbinding.ejbjndi.prefix=ejb# defaultbinding.virtual.host=default_host# defaultbinding.force=yes –AppDeploymentOptions [-appname defaultapp -installed.ear.destination application_root/myCell/defaultapp.ear] –MapModulesToServers [[defaultapp.war .* WebSphere:cell=cellName,node=nodeName,server=server1] [Increment.jar .* Websphere:cell=cellName,node=nodeName,server=server2]] -CtxRootForWebMod [[defaultapp.war .* myctx/]]]')
- 使用 Jython 列表:
AdminTask.addCompUnit(['-blaID', 'yourBLA', '–cuSourceID', 'defaultapp.ear', '–defaultBindingOptions', 'defaultbinding.ejbjndi.prefix=ejb# defaultbinding.virtual.host=default_host# defaultbinding.force=yes', '–AppDeploymentOptions', '[-appname defaultapp -installed.ear.destination application_root/myCell/defaultapp.ear]', '–MapModulesToServers', '[[defaultapp.war .* WebSphere:cell=cellName,node=nodeName,server=server1] [Increment.jar .* Websphere:cell=cellName,node=nodeName,server=server2]]', '-CtxRootForWebMod', '[[defaultapp.war .* myctx/]]'])
交互方式示例用法
- 使用 Jython:
AdminTask.addCompUnit('-interactive')
deleteCompUnit
deleteCompUnit 命令会移除组合单元。只要系统可以将不完整的配置标识与唯一标识相匹配,此命令的两个参数就可以接受不完整的配置标识。
目标对象
无
必需参数
- -blaID
- 指定相关业务级应用程序的配置标识。(字符串,必需)
- -cuID
- 指定要删除的组合单元的配置标识。(字符串,必需)
可选参数
- -force
- 指定即使其他组合单元依赖于此组合单元,是否仍要强制系统删除此组合单元。(布尔值,可选)
返回值
WebSphere:cuname=cu1
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.deleteCompUnit('-blaID myBLA –cuID cu1 -force true')
- 使用 Jython 列表:
AdminTask.deleteCompUnit(['-blaID', 'myBLA', '–cuID', 'cu1', '-force', 'true'])
交互方式示例用法
- 使用 Jython:
AdminTask.deleteCompUnit('-interactive')
editCompUnit
editCompUnit 命令会修改其他组合单元选项。您可以使用此命令来修改组合单元的启动权重、部署目标、激活计划选项以及关系设置。
目标对象
无
必需参数
- -blaID
- 指定相关业务级应用程序的配置标识。(字符串,必需)
- -cuID
- 指定要编辑的组合单元的配置标识。(字符串,必需)
可选步骤
- -CUOptions
- 指定组合单元的其他属性。对 CUOptions 步骤指定以下选项:
- parentBLA(只读)
- 指定组合单元的父业务级应用程序。
- backingID(只读)
- 指定组合单元源标识。
- name(只读)
- 指定组合单元的名称。
- description
- 指定组合单元的描述。
- startingWeight
- 指定组合单元的启动权重。支持的值介于 1 到 2147483647(最大整数值)之间。
- startedOnDistributed
- 指定是否要在将更改分布到目标节点之后启动组合单元。缺省值为 false。
- restartBehaviorOnUpdate
- 指定要在编辑组合单元之后重新启动的节点。指定 ALL 以重新启动每个目标节点。指定 DEFAULT 以重新启动同步插件所控制的节点。指定 NONE 以阻止系统重新启动节点。
- 例如,将此步骤的语法指定为 -CUOptions [[.* .* cu4 “cu4 description” 0 false DEFAULT]]
- -MapTargets
- 指定组合单元目标映射的其他属性。对 MapTargets 步骤指定以下选项:
- deplUnit(只读)
- 指定可部署单元统一资源标识 (URI)。
- 对于企业捆绑软件归档 (EBA) 资产,此 URI 是 ebaDeploymentUnit。
- server
- 指定目标以部署组合单元。缺省值为 server1 服务器。使用加号字符 (+) 来指定多个目标。将加号字符 (+) 用作前缀来添加其他目标。指定每个服务器(不是 WebSphere Application Server 服务器)的完整对象名格式。
- 例如,将此步骤的语法指定为 -MapTargets [[a1.jar cluster1+cluster2] [a2.jar server1+server2]]。
- -ActivationPlanOptions
- 指定组合单元激活计划的其他属性。对 ActivationPlanOptions 步骤指定以下选项:
- deplUnit(只读)
- 指定可部署单元统一资源标识 (URI)。
- activationPlan
- 将运行时组件列表指定为激活计划。使用格式 specName=xxx,specVersion=yyy 指定每个激活计划,其中 specName 表示规范的名称,且必须指定。使用加号字符 (+) 来指定多个激活计划。
- 例如,将此步骤的语法指定为 -ActivationPlanOptions [[a1.jar specname=actplan0+actplan1] [a2.jar specname=actplan1+specname=actplan2]]。
- 对于 EBA 资产,请勿修改激活计划。请保留添加组合单元时设置的以下缺省值:-ActivationPlanOptions [[default ""]]
- -RelationshipOptions
- 指定资产、组合单元及业务级应用程序之间的关系的其他属性。如果组合单元的源标识是一项资产,此资产在业务级应用程序中具有匹配的组合单元,请使用此步骤。对 RelationshipOptions 步骤指定以下选项:
- deplUnit(只读)
- 指定可部署单元统一资源标识 (URI)。
- relationship
- 定义组合单元关系。使用格式 cuName=xxx 指定组合单元对象名。在关系中使用加号字符 (+) 来指定多个组合单元对象名。如果在关系中指定的组合单元不在同一业务级应用程序下,那么系统会返回错误。
- matchTarget
- 指定是否要使组合单元关系的目标,与新组合单元的目标相匹配。缺省值为 true。
- 产品不会保存针对 matchTarget 指定的值。因此,如果您现在选择不与目标匹配 (false) 并稍后编辑组合单元,那么在您编辑该组合单元时,必须再次禁用此设置,才能使产品不与目标相匹配。
- 例如,将此步骤的语法指定为 –RelationshipOptions [[a1.jar a.jar auxCU true] [a2.jar a.jar defaultCU false]]。
- -ContextRootStep
- 对于 EBA 资产,上下文根确定运行时在何处查找特定 Web 应用程序包 (WAB) 的 Web 页面。
- 此处指定的上下文根与定义的服务器映射共同组成您访问 WAB 页面时输入的完整 URL。例如,如果应用程序服务器缺省主机是 www.example.com:8080,而 WAB 的上下文根是 /sample,那么可以在 www.example.com:8080/sample 处找到 Web 页面。
- 您应该列示 OSGi 应用程序中包含的所有 WAB 模块的上下文根。
- 指定此步骤的语法,如下所示:
-ContextRootStep [ [bundle_symbolic_name_1 bundle_version_1 context_root_1] [bundle_symbolic_name_2 bundle_version_2 context_root_2]]
- 例如,对于包含两个 WAB(com.ibm.ws.eba.helloWorldService.web V1.0.0,它将映射到
/hello/web,以及 com.ibm.ws.eba.helloWorldService.withContextRoot
V0.9.0,它将映射到 /hello/service)的 EBA 文件,此命令的这部分内容如下所示:
-ContextRootStep [ [com.ibm.ws.eba.helloWorldService.web 1.0.0 “/hello/web”] [com.ibm.ws.eba.helloWorldService.withContextRoot 0.9.0 “/hello/service”]]
- -VirtualHostMappingStep
- 对于 EBA 资产,可以使用虚拟主机使唯一端口与模块或应用程序相关联。虚拟主机的别名标识了为该虚拟主机定义的端口号。在用来访问 Web 模块工件(例如 Servlet 和 JavaServer Page (JSP) 文件)的 URL 中,将使用虚拟主机别名中指定的端口号。例如,别名 myhost:8080 是 URL http://myhost:8080/sample 的 host_name:port_number 部分。
- 部署的资产中包含的每个 WAB 都必须映射到虚拟主机。WAB 可以安装在同一虚拟主机上,也可以分散安装在多个虚拟主机上。
- 如果在给定 WAB 的 ibm-web-bnd.xml 或 .xmi
文件中指定了现有虚拟主机,那么缺省情况下将设置指定的虚拟主机。否则,缺省虚拟主机设置是
default_host,它通过其别名提供了多个端口号:
- 80
- 未指定端口号时使用的内部不安全端口
- 9080
- 内部端口
- 9443
- 外部安全端口
- 除非要将 WAB 与同一节点(物理机器)上的其他 WAB 或资源隔离,否则 default_host 是合适的虚拟主机。WebSphere Application Server 不仅提供了 default_host,还提供了 admin_host,这是管理控制台系统应用程序的虚拟主机。admin_host 使用端口 9060 运行。它的安全端口是 9043。除非 WAB 与系统管理相关,否则请勿选择 admin_host。
- 指定此步骤的语法,如下所示:
-VirtualHostMappingStep [ [bundle_symbolic_name_1 bundle_version_1 web_module_name_1 virtual_host_1] [bundle_symbolic_name_2 bundle_version_2 web_module_name_2 virtual_host_2]]
- 例如,对于包含两个 WAB(com.ibm.ws.eba.helloWorldService.web V1.0.0,它将映射到 default_host,以及 com.ibm.ws.eba.helloWorldService.withContextRoot V0.9.0,它将映射到
test_host)的 EBA 文件,此命令的这部分内容如下所示:
-VirtualHostMappingStep [ [com.ibm.ws.eba.helloWorldService.web 1.0.0 “HelloWorld service” default_host] [com.ibm.ws.eba.helloWorldService.withContextRoot 0.9.0 “HelloWorld second service” test_host]]
- -MapRolesToUsersStep
- 对于 EBA 资产,请使用此步骤将安全角色映射到用户或组。
- 指定此步骤的语法,如下所示:
-MapRolesToUsersStep [ [role_name everyone? all_authenticated_in_realm? usernames groups]]
键:- role_name 是应用程序中定义的角色名称。
- everyone? 将设置为 Yes 或 No,以指定是否每个人都具有该角色。
- all_authenticated_in_realm? 将设置为 Yes 或 No,以指定是否所有已认证的用户都可以访问应用程序领域。
- usernames 是以“|”字符进行分隔的 WebSphere Application Server 用户名列表。
- groups 是以“|”字符进行分隔的 WebSphere Application Server 组列表。
注: 对于 usernames 和 groups,空字符串 "" 表示“使用缺省值或现有值”。缺省值通常是不将任何用户或组与角色绑定。但是,当应用程序包含 ibm-application-bnd.xmi 文件时,将从此文件中获取 usernames 的缺省值。如果要部署包含 ibm-application-bnd.xmi 文件的应用程序并且要移除绑定的用户,请只指定“|”字符(这是指定多个用户名时的分隔符)。这明确指定“无用户”,因此保证不会将任何用户与该角色绑定。 - 例如:
-MapRolesToUsersStep [ [ROLE1 No Yes "" ""] [ROLE2 No No WABTestUser1 ""] [ROLE3 No No "" WABTestGroup1] [ROLE4 Yes No "" ""]]
- -BlueprintResourceRefPostDeployStep
- 对于 EBA 资产,“蓝图”组件可以访问 WebSphere Application Server 资源引用。每个引用都在蓝图 XML 文件中声明,并且可以使用 Java Platform, Enterprise Edition (Java EE) 连接器体系结构 (JCA) 认证别名进行保护。OSGi 应用程序中的每个捆绑软件可以在其各个“蓝图”XML 文件中包含任意数量的资源引用声明。
- 在保护资源引用时,只能将那些资源引用与部署了 OSGi 应用程序的每个服务器或集群上存在的 JCA 认证别名绑定。OSGi 应用程序可部署到位于同一安全域的多个服务器和集群。因此,每个 JCA 认证别名必须在目标服务器和集群的安全域或全局安全域中存在。
- 指定此步骤的语法,如下所示:
-BlueprintResourceRefPostDeployStep [ [ bundle_symbolic_name bundle_version blueprint_resource_reference_id interface_name jndi_name authentication_type sharing_setting authentication_alias_name ]]
注: jndi_name 的值必须与蓝图 XML 文件中资源引用元素的 filter 属性中声明的 JNDI 名称匹配。 - 例如,对于包含捆绑软件(com.ibm.ws.eba.helloWorldService.properties.bundle.jar V1.0.0,它将绑定至认证别名 alias1)的 EBA 文件,该命令如下所示:
-BlueprintResourceRefPostDeployStep[ [com.ibm.ws.eba.helloWorldService.properties.bundle 1.0.0 resourceRef javax.sql.DataSource jdbc/Account Container Shareable alias1]]
- -WebModuleResourceRefs
- 对于 EBA 资产,绑定资源引用会将 Web 模块的资源依赖关系映射到服务器运行时环境中的实际可用资源。至少,可以通过使用一个指定了 JNDI 名称(用于在运行时环境中标识该资源)的映射来实现此目标。缺省情况下,JNDI 名称是开发 Web 应用程序包 (WAB) 期间在 web.xml 文件中指定的资源标识。
- 指定此步骤的语法,如下所示:
-WebModuleResourceRefs [ [ bundle_symbolic_name bundle_version resource_reference_id resource_type target_jndi_name login_configuration login_properties extended_properties ]]
- 例如:
-WebModuleResourceRefs [ [com.ibm.ws.eba.helloWorldService.web 1.0.0 jdbc/jtaDs javax.sql.DataSource jdbc/helloDs "" "" ""] [com.ibm.ws.eba.helloWorldService.web 1.0.0 jdbc/nonJtaDs javax.sql.DataSource jdbc/helloDsNonJta "" "" “extprop1=extval1”]]
注: 如果使用了多个扩展属性,那么 Jython 语法是 “extprop1=extval1,extprop2=extval2”。
返回值
此命令会返回系统所编辑组合单元的配置标识。
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.editCompUnit('-blaID myBLA –cuID cu1 –CUOptions [[.* .* cu1 cudesc 1 false DEFAULT]] -MapTargets [[.* server2]] -ActivationPlanOptions [.* #specname=actplan0+specname=actplan2]')
- 使用 Jython 列表:
AdminTask.editCompUnit(['-blaID', 'myBLA', '–cuID', 'cu1', '–CUOptions', '[[.* .* cu1 cudesc 1 false DEFAULT]]', '-MapTargets', ' [[.* server2]]', '-ActivationPlanOptions', '[.* #specname=actplan0+specname=actplan2]'])
- 使用 Jython 字符串:
AdminTask.editCompUnit('-blaID ourBLA –cuID cu4 –CUOptions [[.* .* cu4 "new cu desc" 1 false DEFAULT]] –MapTargets [[a1.jar server1+server2]] –RelationshipOptions [[a1.jar cuname=cub true]]')
- 使用 Jython 列表:
AdminTask.editCompUnit(['-blaID', 'ourBLA', '–cuID', 'cu4', '–CUOptions', ' [[.* .* cu4 "new cu desc" 1 false DEFAULT]]', '–MapTargets', '[[a1.jar server1+server2]]', '–RelationshipOptions', '[[a1.jar cuname=cub true]]'])
- 使用 Jython 字符串:
AdminTask.editCompUnit('[-blaID ourBLA –cuID cu4 –CUOptions [[.* .* cu4 "new cu desc" 1 false DEFAULT]] –MapTargets [[a1.jar server1+server2]] –RelationshipOptions [[a1.jar +cuname=cuc true]] -ActivationPlanOptions [a1.jar +specname=actplan2#specname=actplan1]]')
- 使用 Jython 列表:
AdminTask.editCompUnit(['-blaID', 'ourBLA', '–cuID', 'cu4', '–CUOptions', ' [[.* .* cu4 "new cu desc" 1 false DEFAULT]]', '–MapTargets', '[[a1.jar server1+server2]]', '–RelationshipOptions', '[[a1.jar +cuname=cuc true]]', '-ActivationPlanOptions', '[a1.jar +specname=actplan2#specname=actplan1]'])
- 使用 Jython 字符串:
AdminTask.editCompUnit('-blaID yourBLA –cuID defaultapp –MapModulesToServers [[defaultapp.war .* WebSphere:cluster=cluster1][Increment.jar .* Websphere:cluster=cluster2]] –CtxRootForWebMod [[defaultapp.war .* /]] –MapWebModToVH [[defaultapp.war .* vh1]]')
- 使用 Jython 列表:
AdminTask.editCompUnit(['-blaID', 'yourBLA', '–cuID', 'defaultapp', '–MapModulesToServers', '[[defaultapp.war .* WebSphere:cluster=cluster1][Increment.jar .* Websphere:cluster=cluster2]]', '–CtxRootForWebMod', '[[defaultapp.war .* /]]', '–MapWebModToVH', '[[defaultapp.war .* vh1]]'])
交互方式示例用法
- 使用 Jython:
AdminTask.editCompUnit('-interactive')
listCompUnits
listCompUnits 命令会显示每个与特定业务级应用程序相关联的组合单元。
目标对象
无
必需参数
- -blaID
- 指定相关业务级应用程序的配置标识。(字符串,必需)
可选参数
- -includeDescription
- 指定是否要包括此命令所返回的每项资产的描述。(字符串,可选)
- -includeType
- 指定是否要包括此命令所返回的每项资产的类型。(字符串,可选)
返回值
Websphere:cuname=cu1
asset
“description for cu1”
Websphere:cuname=cu4
bla
“description for cu4”
WebSphere:cuname=defaultapp
Java EE
“description for defaultapp”
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.listCompUnits('-blaID blaname=theirBLA')
- 使用 Jython 列表:
AdminTask.listCompUnits(['-blaID', 'blaname=theirBLA'])
交互方式示例用法
- 使用 Jython:
AdminTask.listCompUnits('-interactive')
setCompUnitTargetAutoStart
setCompUnitTargetAutoStart 命令会启用或禁止组合单元的自动启动。如果您启用此选项,那么在启动组合单元目标时,系统会自动启动组合单元。
目标对象
无
必需参数
- -blaID
- 指定相关业务级应用程序的配置标识。如果系统可以将不完整的配置标识与唯一业务级应用程序标识相匹配,那么此命令可以接受不完整的配置标识。(字符串,必需)
- -cuID
- 指定相关组合单元。如果系统可以将不完整的配置标识与唯一组合单元标识相匹配,那么此命令可以接受不完整的配置标识。(字符串,必需)
- -targetID
- 指定相关目标的名称。例如,指定服务器名称以将目标设为特定服务器。(字符串,必需)
- -enable
- 指定在启动所指定的目标时,是否要自动启动相关组合单元。指定 true 以自动启动组合单元。如果未指定 true,那么在启动目标时,系统将不会启动组合单元。缺省值为 true。(字符串,必需)
返回值
此命令不会返回输出。
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.setCompUnitTargetAutoStart('-blaID bla1 –cuID cu1 –targetID server1 –enable true')
- 使用 Jython 列表:
AdminTask.setCompUnitTargetAutoStart(['-blaID', 'bla1', '–cuID', 'cu1', '–targetID', 'server1', '–enable', 'true'])
交互方式示例用法
- 使用 Jython 字符串:
AdminTask.setCompUnitTargetAutoStart('-interactive')
viewCompUnit
viewCompUnit 命令会显示属于特定业务级应用程序的组合单元的配置信息。
目标对象
无
必需参数
- -blaID
- 指定相关业务级应用程序的配置标识。如果系统可以将不完整的配置标识与唯一业务级应用程序标识相匹配,那么此参数可以接受不完整的配置标识。(字符串,必需)
- -cuID
- 指定相关组合单元的配置标识。如果系统可以将不完整的配置标识与唯一组合单元标识相匹配,那么此参数可以接受不完整的配置标识。(字符串,必需)
可选参数
无
返回值
Specify Composition Unit options (CUOptions)
Specify name, description options for Composition Unit.
Parent BLA (parentBLA): [WebSphere:blaname=myBLA]
Backing Id (backingId): [WebSphere:assetname=asset1.zip]
Name (name): [cu1]
Description (description): [cuDesc]
Starting Weight (startingWeight): [0]
Started on distributed (startedOnDistributed): [false]
Restart behavior on update (restartBehaviorOnUpdate): [DEFAULT]
Specify servers (MapTargets)
Specify targets such as application servers or clusters of application servers where you want
to deploy the cu contained in the application.
Deployable Unit (deplUnit): [default]
*Servers (server): [WebSphere:node=myNode,server=server1]
Specify Composition Unit activation plan options (ActivationPlanOptions)
Specify CU activation plan optionsDeployableUnit Name (deplUnit): [default]
Activation Plan (activationPlan): [WebSphere:specname=actplan0+WebSphere:specname=actplan1]
- 使用最新的 OSGi 应用程序部署。
- 新 OSGi 应用程序部署尚不可用,因为它需要的捆绑软件仍在下载。
- 新的 OSGi 应用程序部署可用。
- 无法应用新 OSGi 应用程序部署,因为捆绑软件下载失败。
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.viewCompUnit('-blaID myBLA -cuID myCompUnit')
- 使用 Jython 列表:
AdminTask.viewCompUnit(['-blaID', 'myBLA', '-cuID', 'myCompUnit'])
- 使用 Jython 字符串:
AdminTask.viewCompUnit('-blaID myBLA -cuID defaultApplication')
- 使用 Jython 列表:
AdminTask.viewCompUnit(['-blaID', 'myBLA', '-cuID', 'defaultApplication'])
交互方式示例用法
- 使用 Jython:
AdminTask.viewCompUnit('-interactive')
createEmptyBLA
用来创建空业务级应用程序的 createEmptyBLA 命令。在创建业务级应用程序之后,您可以将资产或其他业务级应用程序作为组合单元添加到应用程序。
目标对象
无
必需参数
- -name
- 指定新业务级应用程序的唯一名称。(字符串,必需)
可选参数
- -description
- 指定新业务级应用程序的描述。(字符串,可选)
返回值
WebSphere:blaname=myBLA
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.createEmptyBLA('-name myBLA -description “my description for BLA”')
- 使用 Jython 列表:
AdminTask.createEmptyBLA(['-name', 'myBLA', '-description', '“my description for BLA”'])
交互方式示例用法
- 使用 Jython:
AdminTask.createEmptyBLA('-interactive')
deleteBLA
deleteBLA 命令会从配置中移除业务级应用程序。在删除业务级应用程序前,请使用 deleteCompUnit 命令来移除每个与该业务级应用程序相关联的组合单元。另外,验证任何其他业务级应用程序都未引用要删除的业务级应用程序。
目标对象
无
必需参数
- -blaID
- 指定相关业务级应用程序的配置标识。只要系统可以将 blaID 参数的不完整标识与唯一标识相匹配,此命令就可以接受不完整的标识。例如,您可以指定 myBLA 部分标识,以识别 WebSphere:blaname=myBLA 配置标识。(字符串,必需)
可选参数
无
返回值
WebSphere:blaname=myBLA
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.deleteBLA('-blaID myBLA')
- 使用 Jython 列表:
AdminTask.deleteBLA(['-blaID', 'myBLA'])
交互方式示例用法
- 使用 Jython:
AdminTask.deleteBLA('-interactive')
editBLA
editBLA 命令会修改业务级应用程序的描述。
目标对象
无
必需参数
- -blaID
- 指定相关业务级应用程序的配置标识。(字符串,必需)
可选步骤
- -BLAOptions
- 使用 BLAOptions 步骤来指定相关业务级应用程序的新描述。
- name(只读)
- 指定业务级应用程序的名称。
- description
- 指定业务级应用程序的描述。
返回值
此命令不会返回输出。
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.editBLA('-blaID DefaultApplication –BLAOptions [[.* "my new description"]]')
- 使用 Jython 列表:
AdminTask.editBLA(['-blaID', 'DefaultApplication', '–BLAOptions', '[[.* "my new description"]]'])
交互方式示例用法
- 使用 Jython:
AdminTask.editBLA('-interactive')
getBLAStatus
getBLAStatus 命令会显示业务级应用程序或组合单元是正在运行还是已停止。
目标对象
无
必需参数
- -blaID
- 指定相关业务级应用程序的配置标识。使用 listBLAs 命令来显示业务级应用程序配置标识的列表。(字符串,必需)
可选参数
- -cuID
- 指定相关组合单元的配置标识。使用 listCompUnits 命令来显示组合单元配置标识的列表。(字符串,可选)
返回值
此命令会返回相关业务级应用程序或组合单元的状态。
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.getBLAStatus('-blaID WebSphere:blaname=myBLA -cuID Websphere:cuname=cu1')
- 使用 Jython 列表:
AdminTask.getBLAStatus(['-blaID', 'WebSphere:blaname=myBLA', '-cuID', 'Websphere:cuname=cu1'])
交互方式示例用法
- 使用 Jython:
AdminTask.getBLAStatus('-interactive')
listBLAs
listBLAs 命令会显示配置中的业务级应用程序。
目标对象
无
可选参数
- -blaID
- 指定相关业务级应用程序的配置标识。(字符串,可选)
- -includeDescription
- 指定是否要包括此命令所返回的每个业务级应用程序的描述。指定 true 以显示业务级应用程序描述。(字符串,可选)
返回值
WebSphere:blaname=myBLA
WebSphere:blaname=yourBLA
批处理方式示例用法
- 使用 Jython:
AdminTask.listBLAs()
- 使用 Jython 字符串:
AdminTask.listBLAs('-blaID myBLA')
- 使用 Jython 列表:
AdminTask.listBLAs(['-blaID', 'myBLA'])
- 使用 Jython 字符串:
AdminTask.listBLAs('-includeDescription true')
- 使用 Jython 列表:
AdminTask.listBLAs(['-includeDescription', 'true'])
交互方式示例用法
- 使用 Jython 字符串:
AdminTask.listBLAs('-interactive')
listControlOps
listControlOps 命令会显示业务级应用程序的控制操作及相应的组合单元。
目标对象
无
必需参数
- -blaID
- 指定相关业务级应用程序的配置标识。(字符串,必需)
可选参数
- -cuID
- 指定相关组合单元。(字符串,可选)
- -opName
- 指定相关操作名称。(字符串,可选)
- -long
- 指定是否要在命令输出中包括其他配置信息。(字符串,可选)
返回值
“Operation: start”
“Description: Start operation”
“Operation handler ID: com.mycompany.myasset.ControlOpHandler”
“Operation handler data URI: None”
“Operation: stop”
“Description: Stop operation”
“Operation handler ID: com.mycompany.myasset.ControlOpHandler”
“Operation handler data URI: None”
“Operation: clearCache”
“Description: Clears specified cache or all caches”
“Operation handler ID: com.mycompany.myasset.ControlOpHandler”
“Operation handler data URI: None”
“Parameter: cacheName”
“Description: Name of cache to clear. If not specified, all caches are cleared.”
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.listControlOps('-blaID myBLA –cuID myservice.jar –long true')
- 使用 Jython 列表:
AdminTask.listControlOps(['-blaID', 'myBLA', '–cuID', 'myservice.jar', '–long true'])
交互方式示例用法
- 使用 Jython:
AdminTask.listControlOps('-interactive')
startBLA
startBLA 命令会启动相关业务级应用程序。
目标对象
无
必需参数
- -blaID
- 指定要启动的业务级应用程序的配置标识。如果系统可以将不完整的配置标识与配置中的唯一标识相匹配,那么此命令可以接受不完整的配置标识。(字符串,必需)
返回值
BLA ID of started BLA if the BLA was not already running.
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.startBLA('-blaID myBLA')
- 使用 Jython 列表:
AdminTask.startBLA(['-blaID', 'myBLA'])
交互方式示例用法
- 使用 Jython:
AdminTask.startBLA('-interactive')
stopBLA
stopBLA 命令会停止相关业务级应用程序。
目标对象
无
必需参数
- -blaID
- 指定要停止的业务级应用程序的配置标识。如果系统可以将不完整的配置标识与配置中的唯一标识相匹配,那么此命令可以接受不完整的配置标识。(字符串,必需)
返回值
BLA ID of stopped BLA if the BLA was not already stopped.
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.stopBLA('-blaID myBLA')
- 使用 Jython 列表:
AdminTask.stopBLA(['-blaID', 'myBLA'])
交互方式示例用法
- 使用 Jython:
AdminTask.stopBLA('-interactive')
viewBLA
viewBLA 命令会显示相关业务级应用程序的名称和描述。
目标对象
无
必需参数
- -blaID
- 指定相关业务级应用程序的配置标识。如果系统可以将不完整的配置标识与唯一业务级应用程序相匹配,那么此命令可以接受不完整的配置标识。(字符串,必需)
可选参数
无
返回值
Specify BLA options (BLAOptions)
Specify options for BLA
*BLA Name (name): [DefaultApplication]
BLA Description (description): []
批处理方式示例用法
- 使用 Jython 字符串:
AdminTask.viewBLA('-blaID DefaultApplication')
- 使用 Jython 列表:
AdminTask.viewBLA(['-blaID', 'DefaultApplication'])
交互方式示例用法
- 使用 Jython:
AdminTask.viewBLA('-interactive')