You can list the composition units for a specific business-level application so that you can complete further composition unit administration, such as deleting or adding composition units. A composition unit is typically created from a business-level application or an asset and contains configuration information that makes the asset runnable.
This task assumes a basic familiarity with command framework programming. Read about command framework programming in the application programming interfaces documentation.
Before you can list composition units, you must have imported an asset, created an empty business-level application, and added a composition unit to the business-level application.
You can list composition units using programming, the administrative console, or the wsadmin tool. This topic describes how to list composition units using programming.
You must provide the blaID parameter to specify the business-level application to list the composition unit. When you list composition units for a business-level application, you can optionally list the type for each composition unit and the description for each composition unit that has a description. You can use the list to complete further administration, such as deleting or exporting composition units.
Perform the following tasks to list composition units for a business-level application using programming.
After you successfully run the code, a list of composition units for a business-level application is displayed.
The following example shows how to list the composition units of a specific business-level application based on the previous steps. Some statements are split on multiple lines for printing purposes.
package com.ibm.ws.management.application.task; import java.util.Properties; import com.ibm.websphere.management.AdminClient; import com.ibm.websphere.management.AdminClientFactory; import com.ibm.websphere.management.Session; import com.ibm.websphere.management.cmdframework.AdminCommand; import com.ibm.websphere.management.cmdframework.CommandMgr; import com.ibm.websphere.management.cmdframework.CommandResult; import com.ibm.websphere.management.async.client.AsyncCommandClient; public class ListCompUnits { public static void main(String[] args) { try { // Connect to the application server. // This step is optional if you use the local // command manager. comment out the lines to and including // CommandMgr cmdMgr = CommandMgr.getClientCommandMgr( // soapClient); // to get the soapClient soap client if you use the local // command manager. String host = "localhost"; String port = "8880"; // Change to your port number if // it is not 8880. Properties config = new Properties(); config.put(AdminClient.CONNECTOR_HOST, host); config.put(AdminClient.CONNECTOR_PORT, port); config.put(AdminClient.CONNECTOR_TYPE, AdminClient.CONNECTOR_TYPE_SOAP); System.out.println("Config: " + config); AdminClient soapClient = AdminClientFactory.createAdminClient(config); // Create the command manager. CommandMgr cmdMgr = CommandMgr.getClientCommandMgr(soapClient); // Comment out the previous lines to create a client command // manager if you are using a local command manager. // Uncomment the following line to create a local command // manager: // // CommandMgr cmdMgr = CommandMgr.getCommandMgr(); System.out.println("\nCreated command manager"); // Optionally create an asynchronous command handler. // Comment out the following line if no further handling // of command notification is required: AsyncCmdTaskHandler listener = new AsyncCmdTaskHandler(); // Create an asynchronous command client. // Set up the session. String id = Long.toHexString(System.currentTimeMillis()); String user = "content" + id; Session session = new Session(user, true); // If no command handler is used, replace the listener with // null for the AsyncCommandClient object. AsyncCommandClient asyncCmdClientHelper = new AsyncCommandClient(session, listener); System.out.println("\nCreated async command client"); // Create the command that lists the composition units. String cmdName = "listCompUnits"; AdminCommand cmd = cmdMgr.createCommand(cmdName); cmd.setConfigSession(session); // List all the compostion units // for the business-level application // with this session ID. System.out.println("\nCreated " + cmdName); // Set the blaID parameter to the business-level application // whose composition units are listing. // Examples of valid formats for the blaID parameter are: // - bName // - blaname=bName // - WebSphere:blaname=bName // This parameter accepts an incomplete ID as long as the incomplete // ID can resolve to a unique business-level application. String blaID = "bla1"; cmd.setParameter("blaID", blaID); System.out.println("\nSet blaID parameter to " + cmd.getParameter("blaID")); // Optionally include descriptions for each composition unit // that has a description by setting // the includeDescription parameter to true or false. String includeDescription = "true"; cmd.setParameter("includeDescription", includeDescription); System.out.println("\nSet includeDescription parameter to " + cmd.getParameter("includeDescription")); // Optionally include types for each composition unit // by setting the includeType parameter to true or false. String includeType = "true"; cmd.setParameter("includeType", includeType); System.out.println("\nSet includeType parameter to " + cmd.getParameter("includeType")); // Call the asynchronous client helper to process parameters. try { asyncCmdClientHelper.processCommandParameters(cmd); System.out.println("\nCompleted process command " + "parameters"); } catch (Throwable th) { System.out.println("Failed from " + "asyncCmdClientHelper.processCommandParameters(cmd)."); th.printStackTrace(); System.exit(-1); } // Run the command to list the composition units. asyncCmdClientHelper.execute(cmd); System.out.println("\nCompleted running of command"); // Check the command result. CommandResult result = cmd.getCommandResult(); if (result != null) { if (result.isSuccessful()) { System.out.println("\nCommand ran successfully " + "with result\n" + result.getResult()); } else { System.out.println("\nCommand ran with " + "Exception"); result.getException().printStackTrace(); } } } catch (Exception e) { e.printStackTrace(); } } } package com.ibm.ws.management.application.task; import com.ibm.websphere.management.cmdframework.provider.CommandNotification; import com.ibm.websphere.management.async.client.AsyncCommandHandlerIF; public class AsyncCmdTaskHandler implements AsyncCommandHandlerIF { public void handleNotification(CommandNotification notification) { // Add your own code here to handle the received notification System.out.println("\nEXAMPLE: notification received: " + notification); } }
Now that you have listed the composition units for a business-level application, you can complete other tasks associated with composition units, such as adding or deleting composition units.
In this information ...Related concepts
Related tasks
| IBM Redbooks, demos, education, and more(Index) |