com.ibm.websphere.management.application
Class AppManagementProxyjava.lang.Object | +--com.ibm.websphere.management.application.AppManagementProxy
- All Implemented Interfaces:
- AppManagement
- public class AppManagementProxy
- extends java.lang.Object
- implements AppManagement
AppManagementProxy provides a common implementation for AppManagement interface in local and JMX mode. This class provides static APIs to get AppManagementProxy instance for
1) AppManagement in local mode (which runs in the absence of WebSphere appserver
2) AppManagement MBean running in a server to be connected from a remote client
3) AppManagement MBean running in a server to be connected from an in-process client
Method Summary void changeServerToCluster(javax.management.ObjectName arg0, javax.management.ObjectName arg1, java.util.Hashtable arg2, java.lang.String arg3)
Callback for admin clients when a server is turned into a cluster.boolean checkIfAppExists(java.lang.String arg0, java.util.Hashtable arg1, java.lang.String arg2)
Checks if an application with the given name is installed in the configuration.void clusterMemberAdded(javax.management.ObjectName arg0, javax.management.ObjectName arg1, java.util.Hashtable arg2, java.lang.String arg3)
Callback for admin clients when a cluster member is added.java.util.Vector compareSecurityPolicy(java.lang.String arg0, java.util.Hashtable arg1, java.lang.String arg2)
Compares the policy data from was.policy file of the ear file with the filter.policy file from WebSphere.void deleteUserAndGroupEntries(java.lang.String appName, java.util.Hashtable prefs, java.lang.String wID)
Deletes all the security binding information related to users and groups from application metadata.void exportApplication(java.lang.String arg0, java.lang.String arg1, java.util.Hashtable arg2, java.lang.String arg3)
Exports the application to a given file.void extractDDL(java.lang.String arg0, java.lang.String arg1, java.lang.String arg2, java.util.Hashtable arg3, java.lang.String arg4)
Exports Table.ddl from all the jars in the earjava.util.Vector getApplicationInfo(java.lang.String arg0, java.util.Hashtable arg1, java.lang.String arg2)
Returns a Vector of AppDeploymentTask objects.java.util.Hashtable getGlobalSettings()
static AppManagement getJMXProxyForClient(AdminClient adminClient)
Returns a proxy for AppManagement functions to be called in JMX mode.static AppManagement getJMXProxyForServer()
Returns a proxy for AppManagement functions to be called in JMX mode.static AppManagement getLocalProxy()
Returns proxy for local mode AppManagement functions.java.util.Vector getModuleInfo(java.lang.String arg0, java.util.Hashtable arg1, java.lang.String arg2, java.lang.String arg3)
Returns a Vector of AppDeploymentTask objects.void installApplication(java.lang.String arg0, java.util.Hashtable arg1, java.lang.String arg2)
Installs a J2EE application in WebSphere cell.void installApplication(java.lang.String arg0, java.lang.String arg1, java.util.Hashtable arg2, java.lang.String arg3)
Installs a J2EE application with the given name in WebSphere cell.void installApplicationLocal(java.lang.String arg0, java.lang.String arg1, java.util.Hashtable arg2, AppNotification.Listener arg3)
Installs a J2EE application with the given name in WebSphere cell.void installApplicationLocal(java.lang.String arg0, java.lang.String arg1, java.util.Hashtable arg2, AppNotification.Listener arg3, java.lang.String arg4)
Installs a J2EE application with the given name in WebSphere cell.void installStandaloneRAR(java.lang.String arg0, java.util.Hashtable arg1, java.lang.String arg2)
java.util.Vector listApplications(java.util.Hashtable arg0, java.lang.String arg1)
Lists installed applications.java.lang.Object listModules(java.lang.String arg0, java.util.Hashtable arg1, java.lang.String arg2)
Lists modules of an application.void moveModule(java.lang.String arg0, java.util.Hashtable arg1, java.lang.String arg2, javax.management.ObjectName arg3, java.lang.String arg4)
void publishWSDL(java.lang.String arg0, java.lang.String arg1, java.util.Hashtable arg2, java.lang.String arg3)
Publish wsdl files to a zip filevoid redeployApplication(java.lang.String arg0, java.lang.String arg1, java.util.Hashtable arg2, java.lang.String arg3)
Updates an installed J2EE application with a new version of its binaries.void redeployApplicationLocal(java.lang.String arg0, java.lang.String arg1, java.util.Hashtable arg2, AppNotification.Listener arg3, java.lang.String arg4)
Updates an installed J2EE application with a new version of its binaries.void removeAllAppsFromCluster(javax.management.ObjectName arg0, java.util.Hashtable arg1, java.lang.String arg2)
Callback for admin clients when a cluster is removed.void removeAllAppsFromNode(java.lang.String arg0, java.lang.String arg1, java.util.Hashtable arg2, java.lang.String arg3)
Removes all the applications from all the servers of a given node.void removeAllAppsFromServer(javax.management.ObjectName arg0, java.util.Hashtable arg1, java.lang.String arg2)
Callback for admin clients when a server is removed.void sendJMXEvent(java.lang.Object arg0)
void sendJMXEvent(java.lang.String s, java.lang.Object arg0)
void setApplicationInfo(java.lang.String arg0, java.util.Hashtable arg1, java.lang.String arg2, java.util.Vector arg3)
Sets the new binding information for an installed application.void setModuleInfo(java.lang.String arg0, java.util.Hashtable arg1, java.lang.String arg2, java.lang.String arg3, java.util.Vector arg4)
Sets the new binding information for an installed application module.java.lang.String startApplication(java.lang.String appName, java.util.Hashtable prefs, java.lang.String wID)
java.lang.String stopApplication(java.lang.String appName, java.util.Hashtable prefs, java.lang.String wID)
void uninstallApplication(java.lang.String arg0, java.util.Hashtable arg1, java.lang.String arg2)
Uninstalls an application from WebSphere cell.void uninstallApplicationLocal(java.lang.String arg0, java.util.Hashtable arg1, AppNotification.Listener arg2)
Uninstalls an application from WebSphere cell.void uninstallApplicationLocal(java.lang.String arg0, java.util.Hashtable arg1, AppNotification.Listener arg2, java.lang.String arg3)
Uninstalls an application from WebSphere cell.void updateAccessIDs(java.lang.String appName, java.lang.Boolean bAll, java.util.Hashtable prefs, java.lang.String wID)
Populates the application bindings of the deployment with the access IDs for all the users and groups.
Methods inherited from class java.lang.Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Method Detail getLocalProxy
public static AppManagement getLocalProxy() throws java.lang.Exception
- Returns proxy for local mode AppManagement functions. This proxy does not talk to WebSphere server. This proxy should not be used when WebSphere server is running on the same machine.
- Returns:
- The AppManagement proxy instance
- java.lang.Exception
getJMXProxyForClient
public static AppManagement getJMXProxyForClient(AdminClient adminClient) throws java.lang.Exception
- Returns a proxy for AppManagement functions to be called in JMX mode. This proxy delegates to AppManagement MBean using AdminClient. This proxy should be used by clients that reside outside of server process.
- Parameters:
- adminClient - The AdminClient instance to communicate with the server process
- Returns:
- The AppManagement proxy instance
- java.lang.Exception
getJMXProxyForServer
public static AppManagement getJMXProxyForServer() throws java.lang.Exception
- Returns a proxy for AppManagement functions to be called in JMX mode. This proxy delegates to in-process AppManagement MBean. This proxy should be used by clients that reside in the same process as WebSphere server.
- Returns:
- The AppManagement proxy instance
- java.lang.Exception
sendJMXEvent
public void sendJMXEvent(java.lang.Object arg0)
- Specified by:
- sendJMXEvent in interface AppManagement
sendJMXEvent
public void sendJMXEvent(java.lang.String s, java.lang.Object arg0)
- Specified by:
- sendJMXEvent in interface AppManagement
getGlobalSettings
public java.util.Hashtable getGlobalSettings()
- Specified by:
- getGlobalSettings in interface AppManagement
clusterMemberAdded
public void clusterMemberAdded(javax.management.ObjectName arg0, javax.management.ObjectName arg1, java.util.Hashtable arg2, java.lang.String arg3) throws AdminException
- Description copied from interface: AppManagement
- Callback for admin clients when a cluster member is added. If this is the first member then all the deployments are searched and server index entries for this member are updated. If there are other members in the cluster then deployment entries from their server index documents are copied for the new member.
- Specified by:
- clusterMemberAdded in interface AppManagement
- Parameters:
- arg1 - The javax.management.ObjectName for the cluster. This is of the form Websphere:cell=cellName,cluster=clusterName
- arg2 - The preferences object containing locale information.
- Throws:
- AdminException - Throws AdminException if operation fails.
changeServerToCluster
public void changeServerToCluster(javax.management.ObjectName arg0, javax.management.ObjectName arg1, java.util.Hashtable arg2, java.lang.String arg3) throws AdminException
- Description copied from interface: AppManagement
- Callback for admin clients when a server is turned into a cluster. This method is called after a server is changed into a cluster.
- Specified by:
- changeServerToCluster in interface AppManagement
- Parameters:
- arg0 - The javax.management.ObjectName for the server. This is of the form Websphere:cell=cellName,node=nodeName,server=serverName
- arg1 - The javax.management.ObjectName for the cluster. This is of the form Websphere:cell=cellName,cluster=clusterName
- arg2 - The preferences object containing locale information.
- arg3 - The workspace ID
- Throws:
- AdminException - Throws AdminException if operation fails.
removeAllAppsFromCluster
public void removeAllAppsFromCluster(javax.management.ObjectName arg0, java.util.Hashtable arg1, java.lang.String arg2) throws AdminException
- Description copied from interface: AppManagement
- Callback for admin clients when a cluster is removed. The serverindex documents are updated by removing deployment entries for all members and all the deployments are updated by removing any references to the cluster or its members.
- Specified by:
- removeAllAppsFromCluster in interface AppManagement
- Parameters:
- arg0 - The javax.management.ObjectName for the cluster. This objectName should contains cell, cluster name. e.g. Websphere:cell=cellName,cluster=clusterName
- arg1 - The preferences object containing locale information.
- arg2 - The workspace ID
- Throws:
- AdminException - Throws AdminException if operation fails.
removeAllAppsFromServer
public void removeAllAppsFromServer(javax.management.ObjectName arg0, java.util.Hashtable arg1, java.lang.String arg2) throws AdminException
- Description copied from interface: AppManagement
- Callback for admin clients when a server is removed. The serverindex document is updated by removing deployment entries for that server and all the deployments are updated by removing any references to the server to be removed.
- Specified by:
- removeAllAppsFromServer in interface AppManagement
- Parameters:
- arg0 - The javax.management.ObjectName for the server. This objectName should contains cell, node, server name. e.g. Websphere:cell=cellName,node=nodeName,server=serverName
- arg1 - The preferences object containing locale information.
- arg2 - The workspace ID
- Throws:
- AdminException - Throws AdminException if operation fails.
removeAllAppsFromNode
public void removeAllAppsFromNode(java.lang.String arg0, java.lang.String arg1, java.util.Hashtable arg2, java.lang.String arg3) throws AdminException
- Description copied from interface: AppManagement
- Removes all the applications from all the servers of a given node. The applications are not uninstalled. Only the server targets are removed. The modules can be then moved to servers on other nodes.
- Specified by:
- removeAllAppsFromNode in interface AppManagement
- Parameters:
- arg0 - The node name
- arg1 - The cell name of the node.
- arg2 - The preferences object containing locale information.
- arg3 - The workspace ID
- Throws:
- AdminException - Throws AdminException if operation fails.
checkIfAppExists
public boolean checkIfAppExists(java.lang.String arg0, java.util.Hashtable arg1, java.lang.String arg2) throws AdminException
- Description copied from interface: AppManagement
- Checks if an application with the given name is installed in the configuration.
- Specified by:
- checkIfAppExists in interface AppManagement
- Parameters:
- arg0 - The application name
- arg1 - The preferences object containing locale information.
- arg2 - The workspace ID
- Returns:
- true if the app is installed, false otherwise.
- Throws:
- AdminException - Throws AdminException if operation fails.
installStandaloneRAR
public void installStandaloneRAR(java.lang.String arg0, java.util.Hashtable arg1, java.lang.String arg2) throws AdminException
- Specified by:
- installStandaloneRAR in interface AppManagement
- Parameters:
- arg0 - Fully qualified RAR file name
- arg1 - A properties hashtable that specifies more information about RAR install. The only required parameter is the scope which can be specified by the key AppConstants.APPDEPL_SERVER, or AppConstants.APPDEPL_NODE or AppConstants.APPDEPL_CELL. The resources.xml file from this specified scope is used to store the J2CResourceAdapter created by this method. Additionally the properties table can also specify name (key: AppConstants.RARDEPL_NAME), description (key: AppConstants.RARDEPL_DESCRIPTION), archivePath (key: AppConstants.RARDEPL_ARCHIVEPATH), and locale (key: APPDEPL_LOCALE).
- arg2 - The workspace ID
- Throws:
- AdminException - Throws AdminException if operation fails.
compareSecurityPolicy
public java.util.Vector compareSecurityPolicy(java.lang.String arg0, java.util.Hashtable arg1, java.lang.String arg2) throws AdminException
- Description copied from interface: AppManagement
- Compares the policy data from was.policy file of the ear file with the filter.policy file from WebSphere. If there is any policy in was.policy file that appears in the filter.policy, an exception is thrown. For custom permissions defined in was.policy a vector of warnings is returned. This method is called during application installation.
- Specified by:
- compareSecurityPolicy in interface AppManagement
- Parameters:
- arg0 - The contents of was.policy file from ear
- arg2 - The workspace ID
- Returns:
- a Vector of custom policies for application
- Throws:
- AdminException - Throws AdminException if operation fails.
listModules
public java.lang.Object listModules(java.lang.String arg0, java.util.Hashtable arg1, java.lang.String arg2) throws AdminException
- Description copied from interface: AppManagement
- Lists modules of an application.
- Specified by:
- listModules in interface AppManagement
- Parameters:
- arg0 - The application name
- arg2 - The workspace ID
- Returns:
- An instance of com.ibm.websphere.management.application.AppDeploymentTask that lists module information. The two dimensional array of String data in the task instance specifies the module name, unique module URI and the module targets.
- Throws:
- AdminException - Throws AdminException if operation fails.
listApplications
public java.util.Vector listApplications(java.util.Hashtable arg0, java.lang.String arg1) throws AdminException
- Description copied from interface: AppManagement
- Lists installed applications.
- Specified by:
- listApplications in interface AppManagement
- Parameters:
- arg0 - The preferences object containing locale information.
- Returns:
- An array of application names
- Throws:
- AdminException - Throws AdminException if operation fails.
extractDDL
public void extractDDL(java.lang.String arg0, java.lang.String arg1, java.lang.String arg2, java.util.Hashtable arg3, java.lang.String arg4) throws AdminException
- Description copied from interface: AppManagement
- Exports Table.ddl from all the jars in the ear
- Specified by:
- extractDDL in interface AppManagement
- Parameters:
- arg0 - The application name
- arg1 - The prefix for DDL files
- arg2 - The destination dir name
- arg3 - The preferences object containing locale information.
- arg4 - The workspace ID
- Throws:
- AdminException - Throws AdminException if operation fails.
exportApplication
public void exportApplication(java.lang.String arg0, java.lang.String arg1, java.util.Hashtable arg2, java.lang.String arg3) throws AdminException
- Description copied from interface: AppManagement
- Exports the application to a given file.
- Specified by:
- exportApplication in interface AppManagement
- Parameters:
- arg0 - The application name
- arg1 - The destination file name
- arg2 - The preferences object containing locale information.
- arg3 - The workspace ID
- Throws:
- AdminException - Throws AdminException if operation fails.
moveModule
public void moveModule(java.lang.String arg0, java.util.Hashtable arg1, java.lang.String arg2, javax.management.ObjectName arg3, java.lang.String arg4) throws AdminException
- Specified by:
- moveModule in interface AppManagement
- Parameters:
- arg0 - The application name
- arg1 - The preferences object containing locale information.
- arg2 - The unique module URI string.
- arg3 - The JMX object name of destination.
- arg4 - The workspace ID
- Throws:
- AdminException - Throws AdminException if operation fails.
setModuleInfo
public void setModuleInfo(java.lang.String arg0, java.util.Hashtable arg1, java.lang.String arg2, java.lang.String arg3, java.util.Vector arg4) throws AdminException
- Description copied from interface: AppManagement
- Sets the new binding information for an installed application module. The binding information is represented by a set of AppDeploymentTask objects. A task represents a step in collecting application-specific binding information (such as virtual hosts for web modules or JNDI names for EJBs) during application installation or editing. Each task contains a two-dimensional array of Strings containing task-specific data.
- Specified by:
- setModuleInfo in interface AppManagement
- Parameters:
- arg0 - The application name
- arg1 - The preferences object containing locale information.
- arg2 - The unique module URI string.
- arg3 - The workspace ID
- arg4 - The vector of tasks
- Throws:
- AdminException - Throws AdminException if operation fails.
setApplicationInfo
public void setApplicationInfo(java.lang.String arg0, java.util.Hashtable arg1, java.lang.String arg2, java.util.Vector arg3) throws AdminException
- Description copied from interface: AppManagement
- Sets the new binding information for an installed application. The binding information is represented by a set of AppDeploymentTask objects. A task represents a step in collecting application-specific binding information (such as virtual hosts for web modules or JNDI names for EJBs) during application installation or editing. Each task contains a two-dimensional array of Strings containing task-specific data.
- Specified by:
- setApplicationInfo in interface AppManagement
- Parameters:
- arg0 - The application name
- arg1 - The preferences object containing locale information.
- arg3 - The vector of tasks
- arg2 - The workspace ID
- Throws:
- AdminException - Throws AdminException if operation fails.
getModuleInfo
public java.util.Vector getModuleInfo(java.lang.String arg0, java.util.Hashtable arg1, java.lang.String arg2, java.lang.String arg3) throws AdminException
- Description copied from interface: AppManagement
- Returns a Vector of AppDeploymentTask objects. A task represents a step in collecting application-specific binding information (such as virtual hosts for web modules or JNDI names for EJBs) during application installation or editing. Each task contains a two-dimensional array of Strings containing task-specific data. The caller can manipulate the returned tasks and call setModuleInfo to set the new binding information in the installed module.
- Specified by:
- getModuleInfo in interface AppManagement
- Parameters:
- arg0 - The application name
- arg1 - The preferences object containing locale information.
- arg2 - The unique module URI string.
- arg3 - The workspace ID
- Returns:
- The module-specific tasks
- Throws:
- AdminException - Throws AdminException if operation fails.
getApplicationInfo
public java.util.Vector getApplicationInfo(java.lang.String arg0, java.util.Hashtable arg1, java.lang.String arg2) throws AdminException
- Description copied from interface: AppManagement
- Returns a Vector of AppDeploymentTask objects. A task represents a step in collecting application-specific binding information (such as virtual hosts for web modules or JNDI names for EJBs) during application installation or editing. Each task contains a two-dimensional array of Strings containing task-specific data. The caller can manipulate the returned tasks and call setApplicationInfo to set the new binding information in the installed application.
- Specified by:
- getApplicationInfo in interface AppManagement
- Parameters:
- arg0 - The application name
- arg1 - The preferences object containing locale information.
- arg2 - The workspace ID
- Returns:
- The application tasks
- Throws:
- AdminException - Throws AdminException if operation fails.
redeployApplication
public void redeployApplication(java.lang.String arg0, java.lang.String arg1, java.util.Hashtable arg2, java.lang.String arg3) throws AdminException
- Description copied from interface: AppManagement
- Updates an installed J2EE application with a new version of its binaries. The older version of the application is uninstalled and the newer version is installed. When the configuration is saved (and synchronized in ND configuration) the new binaries are extracted in the install destination. If the old application was running then it is stopped prior to replacing the binaries and cycled after binaries are extracted. This is an asynchronous call to AppManagement MBean. The caller should register for MBean events to listen to the progress of update.
Sample code for application update:-
Refer to sample code for installApplication.
- Specified by:
- redeployApplication in interface AppManagement
- Parameters:
- arg0 - Fully qualified ear file name
- arg1 - The application name
- arg2 - The app install properties table
- arg3 - The workspaceID
- Throws:
- AdminException - Throws AdminException if redeployment fails.
redeployApplicationLocal
public void redeployApplicationLocal(java.lang.String arg0, java.lang.String arg1, java.util.Hashtable arg2, AppNotification.Listener arg3, java.lang.String arg4) throws AdminException
- Description copied from interface: AppManagement
- Updates an installed J2EE application with a new version of its binaries. The older version of the application is uninstalled and the newer version is installed. When the configuration is saved (and synchronized in ND configuration) the new binaries are extracted in the install destination. If the old application was running then it is stopped prior to replacing the binaries and cycled after binaries are extracted. This is an asynchronous call. The caller should pass in a listener object to learn about progress of update. This method should only be invoked when AppManagement instance is created in local mode.
- Specified by:
- redeployApplicationLocal in interface AppManagement
- Parameters:
- arg0 - Fully qualified ear file name
- arg1 - The application name
- arg2 - The app install properties table
- arg3 - A local event listener that the AppManagement logic notifies of update progress.
- arg4 - The workspaceID
- Throws:
- AdminException - Throws AdminException if redeployment fails.
uninstallApplication
public void uninstallApplication(java.lang.String arg0, java.util.Hashtable arg1, java.lang.String arg2) throws AdminException
- Description copied from interface: AppManagement
- Uninstalls an application from WebSphere cell. The application is removed from all the target servers and clusters. This is an asynchronous call to AppManagement MBean. The caller should register for MBean events to listen to the progress of uninstallation. When configuration changes are saved the application binaries are deleted from all the nodes that the application runs on. The application is stopped prior to deleting binaries.
Sample code to uninstall application:- Refer to sample code for installing an application for creating AppManagementProxy object and adding a JMX listener to listen to AppManagement MBean events.Hashtable props = new Hashtable(); props.put (AppConstants.APPDEPL_LOCALE, Locale.getDefault()): appM.uninstallApplication (appName, props, null);
- Specified by:
- uninstallApplication in interface AppManagement
- Parameters:
- arg0 - The name of installed application
- arg2 - The workspace ID
- Throws:
- AdminException - Throws AdminException if uninstall fails.
uninstallApplicationLocal
public void uninstallApplicationLocal(java.lang.String arg0, java.util.Hashtable arg1, AppNotification.Listener arg2, java.lang.String arg3) throws AdminException
- Description copied from interface: AppManagement
- Uninstalls an application from WebSphere cell. The application is removed from all the target servers and clusters. This is an asynchronous call. The caller should pass in a listener object to learn about progress of installation. This method should only be invoked when AppManagement instance is created in local mode.
- Specified by:
- uninstallApplicationLocal in interface AppManagement
- Parameters:
- arg0 - The name of installed application
- arg2 - A local event listener that the AppManagement logic notifies of uninstallation progress.
- arg3 - The workspace ID
- Throws:
- AdminException - Throws AdminException if uninstall fails.
uninstallApplicationLocal
public void uninstallApplicationLocal(java.lang.String arg0, java.util.Hashtable arg1, AppNotification.Listener arg2) throws AdminException
- Description copied from interface: AppManagement
- Uninstalls an application from WebSphere cell. The application is removed from all the target servers and clusters. This is an asynchronous call. The caller should pass in a listener object to learn about progress of installation. This method should only be invoked when AppManagement instance is created in local mode.
- Specified by:
- uninstallApplicationLocal in interface AppManagement
- Parameters:
- arg0 - The name of installed application
- arg2 - A local event listener that the AppManagement logic notifies of uninstallation progress.
- Throws:
- AdminException - Throws AdminException if uninstall fails.
installApplicationLocal
public void installApplicationLocal(java.lang.String arg0, java.lang.String arg1, java.util.Hashtable arg2, AppNotification.Listener arg3, java.lang.String arg4) throws AdminException
- Description copied from interface: AppManagement
- Installs a J2EE application with the given name in WebSphere cell. This is a local implementation used by local clients that run without the presence of a WebSphere server. This is an asynchronous call. The caller should pass in a listener object to learn about progress of installation. This method should only be invoked when AppManagement instance is created in local mode.
- Specified by:
- installApplicationLocal in interface AppManagement
- Parameters:
- arg0 - Fully qualified name of local ear file
- arg1 - The application name
- arg2 - The app install properties table
- arg3 - A local event listener that the AppManagement logic notifies of installation progress.
- arg4 - The workspace ID.
- Throws:
- AdminException - Throws AdminException if install fails.
installApplicationLocal
public void installApplicationLocal(java.lang.String arg0, java.lang.String arg1, java.util.Hashtable arg2, AppNotification.Listener arg3) throws AdminException
- Description copied from interface: AppManagement
- Installs a J2EE application with the given name in WebSphere cell. This is a local implementation used by local clients that run without the presence of a WebSphere server. This is an asynchronous call. The caller should pass in a listener object to learn about progress of installation. This method should only be invoked when AppManagement instance is created in local mode.
- Specified by:
- installApplicationLocal in interface AppManagement
- Parameters:
- arg0 - Fully qualified name of local ear file.
- arg1 - The application name
- arg2 - The app install properties table
- arg3 - A local event listener that the AppManagement logic notifies of installation progress.
- Throws:
- AdminException - Throws AdminException if install fails.
installApplication
public void installApplication(java.lang.String arg0, java.lang.String arg1, java.util.Hashtable arg2, java.lang.String arg3) throws AdminException
- Description copied from interface: AppManagement
- Installs a J2EE application with the given name in WebSphere cell. This is an asynchronous call to AppManagement MBean. The caller should register for MBean events to listen to the progress of installation.
- Specified by:
- installApplication in interface AppManagement
- Parameters:
- arg0 - Fully qualified ear file name. The EAR file must be on the same machine where the MBean is running.
- arg1 - The application name. If specified, this name overrides the name specified in properties table or in application's deployment descriptor.
- arg2 - The app install properties table
- arg3 - The workspace ID.
- Throws:
- AdminException - Throws AdminException if install fails.
installApplication
public void installApplication(java.lang.String arg0, java.util.Hashtable arg1, java.lang.String arg2) throws AdminException
- Description copied from interface: AppManagement
- Installs a J2EE application in WebSphere cell. This is an asynchronous call to AppManagement MBean. The caller should register for MBean events to listen to the progress of installation. This API takes an EAR file and a properties table that defines various options passed in for installation. The properties table contains all the information that is needed during installation but not stored in the EAR file. The following table lists possible options that can be passed in.
Note1: All the keys in this table are defined as constants in com.ibm.websphere.management.application.AppConstants class. Always use these constants instead of their values.
Note2: uniqueModuleURI - In the following table there are references to uniqueModuleURI. This is a string that specifies module URI and deployment descriptor (DD) URI for that module. The module URI is specified relative to the EAR root while the DD URI for default deployment descriptor is specified relative to the module. This forms a unique combination to locate a module in the EAR file. The string is formed by concatenating module URI, "+" and DD URI. For example, a module with URI beenthere.jar and using default EJB DD has uniqueModuleURI as "beenthere.jar+META-INF/ejb-jar.xml". For modules with Alt-DD the DD URI is relative to the root of the EAR.
Key Value Description AppConstants.APPDEPL_LOCALE java.util.Locale Optional. Used by server install code to generate messages. Default - default locale AppConstants.APPDEPL_DISTRIBUTE_APP java.lang.Boolean Optional. Default - TRUE. Specifies if EAR file is expanded to (or deleted from) the install destination directory upon installation (or uninstallation). The application EAR is expanded by default to the install destination directory of each node where the application is expected to run. If this option is set to FALSE, it is user's responsibility to make sure that the application EAR is expanded at the install location on each node before application is started. AppConstants.APPDEPL_USE_BINARY_CONFIG java.lang.Boolean Optional. Default - FALSE. Specifies if the runtime should read application metadata (dd / bindings/ extensions) from ear file. By default the metadata is read from config/cells/cellName/applications/appName.ear/deployments/appName directory in the repository. AppConstants.APPDEPL_DEPLOYEJB_CMDARG java.lang.Boolean Optional. Default - FALSE Specifies if EJBDeploy tool should be invoked on the EAR during installation. The installation may take up to several minutes if this option is set to TRUE. AppConstants.APPDEPL_DEPLOYEJB_OPTIONS java.util.Hashtable Required if AppConstants.APPDEPL_DEPLOYEJB_CMDARG is set to TRUE. The entires in this hashtable are as follows AppConstants.APPDEPL_INSTALL_DIR java.lang.String Optional. Speficies the directory to which the application EAR file will be installed. The default value is ${APP_INSTALL_ROOT}/cell_name/appname.ear, where the APP_INSTALL_ROOT variable expands to install_root/installedApps; for example, C:\WebSphere\AppServer\installedApps\cell_name. You can specify an absolute path or use a pathmap variable such as ${MY_APPS}. You can use a pathmap variable in any installation though it is particularly needed when installing an application on a cluster with members on heterogeneous nodes because, in such cases, there might not be a single way to specify an absolute path. A WebSphere Application Server variable ${CELL} that denotes the current cell name can also be in the pathmap variable; for example, ${MY_APP}/${CELL}. AppConstants.APPDEPL_MBEANFORRES java.lang.Boolean Optional. Default - TRUE. Specifies if MBeans are created for all the servlets, jsps and EJBs in the application. Turning this off may reduce memory usage and application startup time. AppConstants.APPDEPL_RELOAD_ENABLED java.lang.Boolean Optional. Default - Not saved if not specified. Specifies whether the application's filesystem will be scanned for updated files, so that changes are dynamically reloaded. If not specified then the value is taken from the IBM extensions in the EAR file. AppConstants.APPDEPL_RELOAD_INTERVAL java.lang.String Optional. Default - Not saved if not specified. The timeperiod (in seconds) in which the application's filesystem will be scanned for updated files. This setting takes effect only if class reloading is enabled. If not specified then the value is taken from the IBM extension in the EAR file. AppConstants.APPDEPL_APP_NAME java.lang.String Optional. Specifies the application name. If not specified, then application name is taken from the deployment descriptor of the application. If not specified in the deployment descriptor then the name of the EAR is used as application name. AppConstants.APPDEPL_PRECOMPILE_JSP java.lang.Boolean Optional. Default - FALSE Specifies whether to precompile jsps in all the Web modules. jsps are precompiled during installation if this attribute is set to TRUE. AppConstants.APPDEPL_MODULE_TO_SERVER java.util.Hashtable Required. This table contains module - server relationships. All the EJB, Web, RAR modules that are to be deployed on specific targets should be listed in this table. The keys of this table are uniqueModuleURI strings. The values are Strings of the format "WebSphere:cell=cellName,node=nodeName, server=serverName" for server targets and "WebSphere:cell=cellName, cluster=clusterName" for cluster targets. Multiple targets can be specified by using "+" as a delimiter. An example entry in the table looks like -
Key = "abc.war+WEB-INF/web.xml"
Value = "WebSphere:cell=myNetwork,node=mynode,server=server1+ WebSphere:cell=myNetwork,cluster=MyCluster"AppConstants.APPDEPL_DELETE_SRC_EAR java.lang.Boolean Optional. Default - FALSE Specifies whether to delete the ear file passed in as a parameter after installation. AppConstants.APPDEPL_HANDBACK java.io.Serializable Optional. Default - N/A Specifies a serializable object that is passed back to the caller with notifications generated during installation. This handback object is useful when a single listener listens to JMX events from multiple concurrent installations. AppConstants.APPDEPL_ZERO_BINARY_COPY java.lang.Boolean Optional. Default - FALSE When this option is specified, the install logic does not copy EAR file or application metadata in the repository. Only the deployment information is stored in the repository. Specifying this flag also means AppConstants.APPDEPL_DISTRIBUTE_APP=False and AppConstants.APPDEPL_USE_BINARY_CONFIG=True. In other words, values of APPDEPL_DISTRIBUTE_APP and APPDEPL_USE_BINARY_CONFIG are ignored. When an application is installed using this option all subsequent operations on the application such as edit, export, extractDDL (except uninstall) fail with an exception. An application installed using this option is not uploaded to the ND configuration during addNode even if -includeApps option is specified.
AppConstants.APPDEPL_DEPLOYEJB_OPTIONS
Key Value AppConstants.APPDEPL_DEPLOYEJB_DBTYPE_OPTION java.lang.String - db type (Optional) AppConstants.APPDEPL_DEPLOYEJB_DBNAME_OPTION java.lang.String - db name (Optional) AppConstants.APPDEPL_DEPLOYEJB_DBSCHEMA_OPTION java.lang.String - db schema name (Optional) AppConstants.APPDEPL_DEPLOYEJB_CLASSPATH_OPTION java.lang.String - extract classpath (Optional) AppConstants.APPDEPL_DEPLOYEJB_RMIC_OPTION java.lang.String - extra rmic options (Optional) AppConstants.APPDEPL_DEPLOYEJB_VALIDATE_OPTION java.lang.Boolean - run validation during EJBDeploy (Optional)
Sample code to install an application from a remote client:-
// Assume an ear /tmp/xyz.ear which has 2 module testEJB.jar and testWEB.war. // The configuration has a server server1 and a cluster cluster1. // create AppManagement proxy to AppManagement MBean using AdminClient AppManagement appM = AppManagementProxy.getJMXProxyForClient (adminClient); // create event filter NotificationFilterSupport myFilter = new NotificationFilterSupport(); myFilter.enableType (AppConstants.NotificationType); //get AppManagement MBean's ObjectName ObjectName on = // get MBean (type=AppManagement) // add listener //assumes - listenerImpl which is implementation of javax.management.NotificationListener adminClient.addNotificationListener (on, listenerImpl, myFilter, null); // prepare properties table Hashtable props = new Hashtable(); props.put (AppConstants.APPDEPL_LOCALE, Locale.getDefault()); // create module to server relations table Hashtable module2server = new Hashtable(); module2server.put ("testEJB.jar+META-INF/ejb-jar.xml", "WebSphere:cell=cellName,node=nodeName,server=server1"); module2server.put ("testWEB.jar+WEB-INF/web.xml", "WebSphere:cell=cellName,cluster=cluster1"); props.put (AppConstants.APPDEPL_MODULE_TO_SERVER, module2server); // call install appM.installApplication ("/tmp/xyz.ear", "AppName", props, null); .... // listen to events public void handleNotification Notification(notf, Object handback) { AppNotification ev = (AppNotification) notf.getUserData(); if (ev.taskName.equals (AppNotification.INSTALL)) { if (ev.taskStatus.equals (AppNotification.STATUS_COMPLETED)) { // install succeeded .. remove listener } else if (ev.taskStatus.equals (AppNotification.STATUS_FAILED)) { // install failed .. remove listener } else { // install in progress } } }
- Specified by:
- installApplication in interface AppManagement
- Parameters:
- arg0 - Fully qualified ear file name. The EAR file must be on the same machine where the MBean is running.
- arg1 - The app install properties table
- arg2 - The workspace ID.
- Throws:
- AdminException - Throws AdminException if install fails.
updateAccessIDs
public void updateAccessIDs(java.lang.String appName, java.lang.Boolean bAll, java.util.Hashtable prefs, java.lang.String wID) throws AdminException
- Description copied from interface: AppManagement
- Populates the application bindings of the deployment with the access IDs for all the users and groups. This method only works in JMX mode. It is used to boost performance by caching access IDs in the application metadata. This saves a call to user registry at runtime. This method should be called after application installation or after editing user registry.
- Specified by:
- updateAccessIDs in interface AppManagement
- Parameters:
- appName - The application name
- bAll - true means accessIDs are obtained from the registry even if they exist in bindings. false means only the empty entries from bindings are populated.
- prefs - The preferences object containing locale information.
- Throws:
- AdminException - Throws AdminException if operation fails.
deleteUserAndGroupEntries
public void deleteUserAndGroupEntries(java.lang.String appName, java.util.Hashtable prefs, java.lang.String wID) throws AdminException
- Description copied from interface: AppManagement
- Deletes all the security binding information related to users and groups from application metadata.
- Specified by:
- deleteUserAndGroupEntries in interface AppManagement
- Parameters:
- appName - The application name
- prefs - The preferences object containing locale information.
- Throws:
- AdminException - Throws AdminException if operation fails.
startApplication
public java.lang.String startApplication(java.lang.String appName, java.util.Hashtable prefs, java.lang.String wID) throws AdminException
- Specified by:
- startApplication in interface AppManagement
- AdminException
stopApplication
public java.lang.String stopApplication(java.lang.String appName, java.util.Hashtable prefs, java.lang.String wID) throws AdminException
- Specified by:
- stopApplication in interface AppManagement
- AdminException
publishWSDL
public void publishWSDL(java.lang.String arg0, java.lang.String arg1, java.util.Hashtable arg2, java.lang.String arg3) throws AdminException
- Description copied from interface: AppManagement
- Publish wsdl files to a zip file
- Specified by:
- publishWSDL in interface AppManagement
- Parameters:
- arg0 - the name of application for which publishWSDL will be executed.
- arg1 - the location where the wsdl file to be published. This path has to be valid before calling this method.
- arg2 - contains both Locale and a nested data structure (AttributeList) for port endpoint addresses {moduleName {transport address}+}*
- arg3 - the id to identify the current workspace
- Throws:
- AdminException - Throws AdminException if operation fails.
WebSphere is a trademark of the IBM Corporation in the United States, other countries, or both.
IBM is a trademark of the IBM Corporation in the United States, other countries, or both.