Stopping applications using wsadmin scripting

You can use the wsadmin tool to stop applications.

Before you begin

There are two ways to complete this task. The example in this topic uses the AdminControl object to stop the application. Alternatively, you can use the scripts in the AdminApplication script library to start, stop, and administer your application configurations.

Procedure

  1. Start the wsadmin scripting tool.
  2. Identify the application manager MBean for the server where the application resides, and assign it to the appManager variable.
    • Using Jacl:
      set appManager [$AdminControl queryNames cell=mycell,node=mynode,type=
      ApplicationManager,process=server1,*]
    • Using Jython:
      appManager = AdminControl.queryNames('cell=mycell,node=mynode,type=
      ApplicationManager,process=server1,*')
      print appManager
    Table 1. queryNames command elements . Run the queryNames command to get the name of the application manager MBean.
    Command element Description
    set is a Jacl command
    appManager is a variable name
    $ is a Jacl operator for substituting a variable name with its value
    AdminControl is an object that enables the manipulation of MBeans running in a WebSphere® server process
    queryNames is an AdminControl command
    cell=mycell,node=mynode,type= ApplicationManager,process=server1 is the hierarchical containment path of the configuration object
    print is a Jython command

    This command returns the application manager MBean.

    Example output:
    WebSphere:cell=mycell,name=ApplicationManager,mbeanIdentifier=ApplicationManager,
    type=ApplicationManager,node=mynode,process=server1
  3. Query the running applications belonging to this server and assign the result to the apps variable.
    • Using Jacl:
      set apps [$AdminControl queryNames cell=mycell,node=mynode,type=Application,process=server1,*]
    • Using Jython:
      # get line separator 
      import  java.lang.System  as sys
      lineSeparator = sys.getProperty('line.separator')
      
      apps = AdminControl.queryNames('cell=mycell,node=mynode,type=Application,
      process=server1,*').split(lineSeparator)
      print apps
    Table 2. queryNames command elements . Run the queryNames command to query running applications.
    Command element Description
    set is a Jacl command
    apps is a variable name
    $ is a Jacl operator for substituting a variable name with its value
    AdminControl is an object that enables the manipulation of MBeans running in a WebSphere server process
    queryNames is an AdminControl command
    cell=mycell,node=mynode,type= ApplicationManager,process=server1 is the hierarchical containment path of the configuration object
    print is a Jython command

    This command returns a list of application MBeans.

    Example output:
    WebSphere:cell=mycell,name=adminconsole,mbeanIdentifier=deployment.xml
    #ApplicationDeployment_1,type=Application,node=mynode,Server=server1,
    process=server1,J2EEName=adminconsole
    WebSphere:cell=mycell,name=filetransfer,mbeanIdentifier=deployment.xml
    #ApplicationDeployment_1,type=Application,node=mynode,Server=server1,
    process=server1,J2EEName=filetransfer
  4. Stop all the running applications.
    • Using Jacl:
      foreach app $apps {
           set appName [$AdminControl getAttribute $app name]
           $AdminControl invoke $appManager stopApplication $appName}
      
    • Using Jython:
      for app in apps:
          appName = AdminControl.getAttribute(app, 'name')
          AdminControl.invoke(appManager, 'stopApplication', appName)
    This command stops all the running applications by invoking the stopApplication operation on the MBean, passing in the application name to stop.

Results

Once you complete the steps for this task, all running applications on the server are stopped.