You can list the control operations of a business-level application or a composition unit for a session. You can use control operations, such as start or stop, to change or query the runtime environment of a business-level application or a composition unit.
Before you can list control operations of a business-level application or a composition unit for a session, you must have created an empty business-level application, imported an asset, and added a composition unit.
You can list control operations of a business-level application or a composition unit using programming, the administrative console, or the wsadmin tool. The steps describe how to list control operations using programming.
To list control operations for a business-level application of a session, provide a blaID paramaeter value, but no cuID parameter value. To list control operations for a composition unit, specify both a blaID parameter value and a cuID parameter value. To list all control operations for the specified business-level application or the specified composition unit, do not specify an opName parameter value. To list the details for a specific control operation, set the opName parameter value to the name of the operation to list. To list details of the control operation definition, set the long parameter to true.
Perform the following tasks to list control operations for a business-level application or a composition unit of a session using programming.
After you successfully run the code, a control operations of a business-level application or a composition unit for a session is displayed.
The following example shows how to list the control operation of a business-level application or a composition unit of a session 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 listControlOps {
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 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 control operations.
String cmdName = "listControlOps";
AdminCommand cmd = cmdMgr.createCommand(cmdName);
cmd.setConfigSession(session); // List all the control operations
// using the session created.
System.out.println("\nCreated " + cmdName);
// Set the blaID parameter, which is required.
// The blaID is for either the business-level application whose control
// units you are listing or for the business-level application whose
// composition unit control operations you are listing.
// Change the blaID parameter according to your
// scenario.
// 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 set the cuID parameter to the composition
// unit whose control operations you are listing.
// Examples of valid formats for the cuID parameter are:
// - name
// - cuname=name
// - WebSphere:cuname=name
// This parameter accepts an incomplete ID as long as the
// incomplete ID can resolve to a unique composition unit
// within the business-level application.
//
// String cuID = "test5.zip";
// cmd.setParameter("cuID", cuID);
// System.out.println("\nSet cuID parameter to "
// + cmd.getParameter("cuID"));
// Optionally set the opName parameter of the operation to list.
// String opName = "opName1";
// cmd.setParameter("opName", opName);
// System.out.println("\nSet opnameID parameter to "
// + cmd.getParameter("opName"));
// Optionally include details of the control operation definition
// by setting the long parameter to true.
// String long = "true";
// cmd.setParameter("long", long);
// System.out.println("\nSet long parameter to "
// + cmd.getParameter("long"));
// 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 control operations.
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);
}
}
You can complete other tasks associated with business-level applications and composition units, such as deleting, starting, or stopping business-level applications or adding or exporting a composition unit.