Manage composition units
Use the commands in the BLAManagement command group to manage composition units. Use the examples in this topic to add, remove, edit, export, and view composition units.
There are two ways to complete the examples in this task. Use the BLAManagement (AdminTask) to manage composition units. Alternatively, we can use the scripts in the AdminBLA script library to administer the composition unit configurations.
Composition units can represent deployed assets, other business-level applications, or external artifacts that are deployed on non-WAS runtime environments without associated assets. Business-level applications contain zero or more composition units. We cannot add the same composition unit to more than one business-level application, but we can use one asset to create more than one composition unit.
- Add composition units.
- Start the wsadmin scripting tool.
- Add composition units.
Use the addCompUnit command to add composition units to business-level applications.
If the asset is an enterprise bundle archive (EBA) asset, there are additional parameters to set. For more information, see Add an EBA asset to a composition unit using the addCompUnit command. Use the following command example to add the asset1 asset as a composition unit in the myBLA business-level application, and map the deployment to the server1 server:
AdminTask.addCompUnit('-blaID myBLA -cuSourceID asset1 -CUOptions [[.* .* compositionUnit1 "composition unit that is backed by asset1" 0]] -MapTargets [[.* server1]] -ActivationPlanOptions [.* specname=actplan0+specname=actplan1]')
Use the following command to add the asset2 asset as a composition unit in the myBLA business-level application, and map the deployment to the server1 and testServer servers:
AdminTask.addCompUnit('-blaID myBLA -cuSourceID asset2 -CUOptions [[.* .* compositionUnit2 "composition unit that is backed by asset2" 0]] -MapTargets [[.* server1+testServer]] -ActivationPlanOptions [.* specname=actplan0+specname=actplan1]')
Use the following command to add the J2EEAsset asset as a composition unit in the myBLA business-level application, and map the deployment to the server1 and testServer servers:
AdminTask.addCompUnit('[-blaID myBLA -cuSourceID J2EEAsset -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=testServer]] -CtxRootForWebMod [[defaultapp.war .* myctx/]]]')If we are editing a composition unit to update a shared library, first manually stop all Java EE applications that depend on that shared library. After updating the shared library, manually restart the Java EE applications. Java EE applications do not automatically restart when a shared library is updated.
The command returns the configuration IDs of the composition unit and the new composition unit created for the asset in the asset relationship, as the following example displays:
WebSphere:cuname=compositionUnit1 WebSphere:cuname=compositionUnit2 WebSphere:cuname=J2EEAsset
- Save the configuration changes.
Use the following command example to save the configuration changes:
AdminConfig.save()
- Display composition units and configuration settings.
Use the listCompUnits and viewCompUnits commands to display the configuration IDs of each composition unit that matches a specific search scope.
You can use the listCompUnits command to display each composition unit in the configuration or within a specific business-level application. The following example displays each composition unit in the myBLA business-level application:
AdminTask.listCompUnits('-blaID blaname=myBLA')
The command returns the configuration IDs and type of backing asset for each composition unit that matches the search scope, as the following sample displays:
Websphere:cuname=cu1 asset Websphere:cuname=cu4 bla WebSphere:cuname=defaultapp __j2ee
We can use the viewCompUnits command to display additional configuration information about a specific composition unit of a business-level application. For example, the following example displays additional information about the cu1 composition unit for the myBLA business-level application:
AdminTask.viewCompUnit('-blaID myBLA -cuID cu1')
The command returns detailed configuration information for the composition unit, as the following sample displays:
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): [my description of cu1 composition unit] Starting Weight (startingWeight): [0] Specify servers (MapTargets) Specify targets such as application servers or clusters of application servers where to deploy the composition unit contained in the application. Deployable Unit (deplUnit): [default] *Servers (server): [WebSphere:node=myNode,server=server1] Specify Composition Unit activation plan options (ActivationPlanOptions) Specify composition unit activation plan optionsDeployableUnit Name (deplUnit): [default] Activation Plan (activationPlan): [WebSphere:specname=actplan0+WebSphere:specname=actplan1]If the composition unit contains an enterprise bundle archive (EBA) asset, the composition unit status is also displayed. This status is one of the following values:
- Use latest OSGi application deployment.
- New OSGi application deployment not yet available because it requires bundles that are still downloading.
- New OSGi application deployment available.
- New OSGi application deployment cannot be applied because bundle downloads have failed.
For more information, see Checking the update status of an OSGi composition unit.
- Edit composition units.
- Start the wsadmin scripting tool.
- Modify the composition unit.
Use the editCompUnit command to modify composition unit options. We can use this command to modify the starting weight of the composition unit, deployment targets, activation plan options, and relationship settings. See the documentation for the BLAManagement command group (AdminTask) to view descriptions of each option we can modify.
If the composition unit contains an enterprise bundle archive (EBA) asset, there are additional parameters we can modify. For more information, see Modify the configuration of an OSGi composition unit using the editCompUnit command.
The following example edits a composition unit, which is associated with an asset, and replaces the deployment target:
AdminTask.editCompUnit('-blaID myBLA -cuID cu1 -CUOptions [[.* .* cu1 cudesc 1]] -MapTargets [[.* server2]] -ActivationPlanOptions [.* #specname=actplan0+specname=actplan2]')
The command returns the configuration ID of the composition unit that the system edits, as the following sample displays:
WebSphere:cuname=cu1
- Save the configuration changes.
Use the following command example to save the configuration changes:
AdminConfig.save()
- Remove composition units.
- Start the wsadmin scripting tool.
- Remove composition units.
Use the deleteCompUnit command to remove a composition unit. Both parameters for the following command accept incomplete configuration IDs, as long as the system can match the string to a unique ID:
AdminTask.deleteCompUnit('-blaID myBLA -cuID cu1')
The command returns the configuration ID of the composition unit that the system deletes, as the following sample demonstrates:
WebSphere:cuname=cu1
- Save the configuration changes.
Use the following command example to save the configuration changes:
AdminConfig.save()
Subtopics
- (dist)(zos) View JMS bindings on references and services of SCA composites
We can view information on a Java Message Service (JMS) binding for a Service Component Architecture (SCA) composite. Use scripts for viewing composition units in business-level applications. The scripts display information on settings of a binding.jms element.
- (dist)(zos) Edit JMS bindings on references and services of SCA composites
We can update a Java Message Service (JMS) binding on references and services for a Service Component Architecture (SCA) composite. Use scripts that edit composition units in business-level applications. The scripts edit resource and response resource settings of a binding.jms element.
Related tasks
Set up business-level applications Edit a composition unit using programming Deploy and administering business-level applications Add an EBA asset to a composition unit using the addCompUnit command Modify the configuration of an EBA composition unit using the editCompUnit command Checking the update status of an EBA composition unit (dist)(zos) View JMS bindings on references and services of SCA composites
(dist)(zos) Edit JMS bindings on references and services of SCA composites
Business-level application configuration scripts BLAManagement (AdminTask)