Commands for the AdminApp object
Use the AdminApp object to install, modify, and administer applications.
The AdminApp object interacts with the WAS management and configuration services to make application inquiries and changes. This interaction includes installing and uninstalling applications, listing modules, exporting, and so on.
You can start the scripting client when no server is running, if you want to use only local operations. To run in local mode, use the -conntype NONE option to start the scripting client. You receive a message that you are running in the local mode. Running the AdminApp object in local mode when a server is currently running is not recommended. This is because any configuration changes made in local mode will not be reflected in the running server configuration and vice versa. If you save a conflicting configuration, you could corrupt the configuration.
In a deployment manager environment, configuration updates are available only if a scripting client is connected to a deployment manager.
When connected to a node agent or a managed appserver, you will not be able to update the configuration because the configuration for these server processes are copies of the master configuration which resides in the deployment manager. The copies are created on a node machine when a configuration synchronization occurs between the deployment manager and the node agent. Make configuration changes to the server processes by connecting a scripting client to a deployment manager. For this reason, to change a configuration, do not run a scripting client in local mode on a node machine. It is not a supported configuration.
The following commands are available for the AdminApp object:
deleteUserAndGroupEntries
Deletes users or groups for all roles, and deletes user IDs and passwords for all of the RunAs roles that are defined in the application.
- Parameters: appname
- Returns: None
Example usage:
Use Jacl:
$AdminApp deleteUserAndGroupEntries myappUse Jython:
AdminApp.deleteUserAndGroupEntries('myapp')
edit
Edits an application or module in non-interactive mode.
The edit command changes the application deployment. Specify these changes in the options parameter. No options are required for the edit command.
- Parameters using Jacl: appname - string; options - string
- Parameters using Jython: appname - string; options - string or appname - string; options - Jython list
- Returns: string
Example usage:
Use Jacl:
$AdminApp edit "JavaMail Sample" {-MapWebModToVH {{"JavaMail Sample WebApp" mtcomps.war,WEB-INF/web.xml newVH}}}Use Jython with string options:
AdminApp.edit("JavaMail Sample", '[-MapWebModToVH [["JavaMail 32 Sample WebApp" mtcomps.war,WEB-INF/web.xml newVH]]]')Using Jython with list options:
option = [["JavaMail 32 Sample WebApp", "mtcomps.war,WEB-INF/web.xml", "newVH"]] mapVHOption = ["-MapWebModToVH", option] AdminApp.edit("JavaMail Sample", mapVHOption)
editInteractive
Edits an application or module in interactive mode.
The editInteractive command changes the application deployment. Specify these changes in the options parameter. No options are required for the editInteractive command.
- Parameters using Jacl: appname - string; options - string
- Parameters using Jython: appname - string; options - string or appname - string; options - Jython list
- Returns: string
Example usage:
Use Jacl:
$AdminApp editInteractive ivtAppUsing Jython:
AdminApp.editInteractive('ivtApp')
export
Exports the application appname parameter to a file specified by file name.
- Parameters: appname, filename
- Returns: None
Example usage:
Use Jacl:
$AdminApp export "My App" /usr/me/myapp.earUsing Jython:
AdminApp.export("My App", '/usr/me/myapp.ear')
exportDDL
Extracts the data definition language (DDL) from the application appname parameter to the directoryname parameter that a directory specifies. The options parameter is optional.
- Parameters: appname, directoryname, options
- Returns: None
Example usage:
Use Jacl:
$AdminApp exportDDL "My App" /usr/me/DDL {-ddlprefix myApp}Use Jython:
AdminApp.exportDDL("My App", '/usr/me/DDL', '[-ddlprefix myApp]')
help
Displays general help for the AdminApp object.
- Parameters: None
- Returns: None
Example usage:
Use Jacl:
$AdminApp helpUsing Jython:
print AdminApp.help()Example output:WASX7095I: The AdminApp object allows application objects to be manipulated including installing, uninstalling, editing, and listing. Most of the commands supported by AdminApp operate in two modes: the default mode is one in which AdminApp communicates with the WAS to accomplish its tasks. A local mode is also possible, in which no server communication takes place. The local mode of operation is invoked by including the "-conntype NONE" flag in the option string supplied to the command. The following commands are supported by AdminApp; more detailed information about each of these commands is available by using the "help" command of AdminApp and supplying the name of the command as an argument. edit Edit the properties of an application editInteractive Edit the properties of an application interactively export Export application to a file exportDDL Extract DDL from application to a directory help Show help information install Installs an application, given a file name and an option string. installInteractive Installs an application in interactive mode, given a file name and an option string. list List all installed applications listModules List the modules in a specified application options Shows the options available, either for a given file, or in general. taskInfo Shows detailed information pertaining to a given installation task for a given file uninstall Uninstalls an application, given an application name and an option string
help
Displays help for an AdminApp command or installation option.
- Parameters: operation name
- Returns: none
Example usage:
Use Jacl:
$AdminApp help uninstallUsing Jython:
print AdminApp.help('uninstall')Example output:WASX7102I: Method: uninstall Arguments: application name, options Description: Uninstalls application named by "application name" using the options supplied by String 2. Method: uninstall Arguments: application name Description: Uninstalls the application specified by "application name" using default options.
install
Installs an application in non-interactive mode, given a fully qualified file name and a string of installation options. The options parameter is optional.
- Parameters using Jacl: earfile- string; options- string
- Parameters using Jython: earfile- string; options- string or earfile- string; options- Jython list
- Returns: None
Example usage:
Use Jacl:
$AdminApp install c:/apps/myapp.earUsing Jython:
AdminApp.install('c:/apps/myapp.ear')Many options are available for this command. You can obtain a list of valid options for an EAR file with the following command:Use Jacl:
$AdminApp options myApp.earUsing Jython:
AdminApp.options('myApp.ear')You can also obtain help for each object with the following command:Use Jacl:
$AdminApp help MapModulesToServersUsing Jython:
AdminApp.help('MapModulesToServers')
installInteractive
Installs an application in interactive mode, given a fully qualified file name and a string of installation options. The options parameter is optional.
- Parameters using Jacl: earfile- string; options- string
- Parameters using Jython: earfile- string; options- string or earfile- string; options- Jython list
- Returns: None
Example usage:
Use Jacl:
$AdminApp installInteractive c:/websphere/appserver/ installableApps/jmsample.earUse Jython:
AdminApp.installInteractive('c:/websphere/appserver/ installableApps/jmsample.ear')
isAppReady
Tests to see if the specified application has been distributed and is ready to be run. Returns a value of true if the application is ready, or a value of false if the application is not ready. This command is not supported when the wsadmin tool is not connected to a server.
- Parameters: application name
- Returns: true or false
Example usage:
Use Jacl:
$AdminApp isAppReady DefaultApplicationUsing Jython:
AdminApp.isAppReady('DefaultApplication')Example output:ADMA5071I: Distribution status check started for a pplication DefaultApplication. WebSphere:cell=Node03Cell,node=myNode,distribution =true ADMA5011I: The cleanup of the temp directory for a pplication DefaultApplication is complete. ADMA5072I: Distribution status check completed for application DefaultApplication. true
isAppReady
Tests to see if the specified application has been distributed and is ready to be run. Valid values for the ignoreUnknownState parameter include true and false. If you specify a value of true, nodes and servers with an unknown state will not be included in the final ready return. The command returns a value of true if the application is ready or a value of false if the application is not ready. This command is not supported when the wsadmin tool is not connected to a server.
- Parameters: application name, ignoreUnknownState
- Returns: true or false
Example usage:
Use Jacl:
$AdminApp isAppReady TEST trueUsing Jython:
AdminApp.isAppReady('TEST', 'true')Example output:ADMA5071I: Distribution status check started for a pplication TEST. WebSphere:cell=myCell,node=myNode,distribution=unknown ADMA5011I: The cleanup of the temp directory for a pplication TEST is complete. ADMA5072I: Distribution status check completed for application TEST. false
list
Lists the applications that are installed in the configuration.
- Parameters: None
- Returns: application names
Example usage:
Use Jacl:
$AdminApp listUsing Jython:
print AdminApp.list()Example output:adminconsole DefaultApplication ivtApp
list
Lists the applications that are installed on a given target scope in the configuration.
- Parameters: target
- Returns: Application names
Example usage:
Using Jacl:
$AdminApp list WebSphere:cell=myCell,node=myNode, server=myServerUse Jython:
print AdminApp.list("WebSphere:cell=myCell, node=myNode,server=myServer")Example output:DefaultApplication PlantsByWebSphere SamplesGallery ivtApp query
listModules
Lists the modules in an application.
The options parameter is optional. The valid option is -server. This option lists the appservers on which the modules are installed.
- Parameters: appname, options
- Returns: modules in the application
Example usage:
Use Jacl:
$AdminApp listModules ivtAppUsing Jython:
print AdminApp.listModules('ivtApp')Example output:ivtApp#ivtEJB.jar+META-INF/ejb-jar.xml ivtApp#ivt_app.war+WEB-INF/web.xmlThis example is formed by the concatenation of appname, #, module URI, +, and DD URI. You can pass this string to the edit and editInteractive AdminApp commands.
options
Displays a list of options for installing an Enterprise Archive (EAR) file.
- Parameters: earfile
- Returns: Information about the valid installation options for an Enterprise Archive (EAR) file.
Example usage:
Use Jacl:
$AdminApp options c:/websphere/appserver/ installableApps/ivtApp.earUse Jython:
AdminApp.options('c:/websphere/appserver/ installableApps/ivtApp.ear')Example usage:WASX7112I: The following options are valid for "c:/websphere/appserver/installableapps/ivtApp.ear" MapRolesToUsers BindJndiForEJBNonMessageBinding MapEJBRefToEJB MapWebModToVH MapModulesToServers EnsureMethodProtectionFor10EJB GetServerName preCompileJSPs nopreCompileJSPs distributeApp nodistributeApp useMetaDataFromBinary nouseMetaDataFromBinary deployejb nodeployejb createMBeansForResources nocreateMBeansForResources reloadEnabled noreloadEnabled deployws nodeployws usedefaultbindings defaultbinding.force allowPermInFilterPolicy noallowPermInFilterPolicy verbose update update.ignore.old update.ignore.new installed.ear.destination appname reloadInterval validateinstall deployejb.rmic deployejb.dbtype deployejb.dbschema deployejb.classpath deployws.classpath deployws.jardirs defaultbinding.datasource.jndi defaultbinding.datasource.username defaultbinding.datasource.password defaultbinding.cf.jndi defaultbinding.cf.resauth defaultbinding.ejbjndi.prefix defaultbinding.virtual.host defaultbinding.strategy.file server node cell cluster contextroot custom
options
Displays a list of options for editing an existing application.
- Parameters: Application name
- Returns: Information about the valid edit options for an application.
Example usage:
Use Jacl:
$AdminApp options ivtAppUsing Jython:
AdminApp.options('ivtApp')Example output:WASX7112I: The following options are valid for "ivtApp" MapRolesToUsers BindJndiForEJBNonMessageBinding MapEJBRefToEJB MapWebModToVH MapModulesToServers distributeApp nodistributeApp useMetaDataFromBinary nouseMetaDataFromBinary createMBeansForResources nocreateMBeansForResources reloadEnabled noreloadEnabled verbose installed.ear.destination reloadInterval
options
Displays a list of options for editing a module in an existing application.
- Parameters: application module name. This parameter requires the same module name format as the output that is returned by the listModules command.
- Returns: Information about the valid edit options for a module.
Example usage:
Use Jacl:
$AdminApp options ivtApp#ivtEJB.jar+META-INF/ ejb-jar.xmlUse Jython:
AdminApp.options('ivtApp#ivtEJB.jar+META-INF/ ejb-jar.xml')Example output:WASX7112I: The following options are valid for "ivtApp#ivtEJB.jar+META-INF/ejb-jar.xml" MapRolesToUsers BindJndiForEJBNonMessageBinding MapModulesToServers verbose
options
Displays a list of options for installing or updating an application or application module file.
- Parameters: file, operation - The following list includes the valid values:
- installapp - Installing the file that is specified
- updateapp - Updating an existing application with the file that is specified
- addmodule - Adding the module file that is specified to an existing application
- updatemodule - Updating an existing module in an application with the module file that is specified
- Returns: Information about the valid options that are available for the operation that is requested with the input file.
Example using the updateapp operation:
Using Jacl:
$AdminApp options c:/websphere/appserver/ installableApps/ ivtApp.ear updateappUse Jython:
AdminApp.options('c:/websphere/appserver/ installableApps/ ivtApp.ear', 'updateapp')Example using the addmodule operation:
Using Jacl:
$AdminApp options myModule.jar addmoduleUse Jython:
AdminApp.options('DefaultWebApplication.war', 'addmodule')Example output using the updateapp operation:
WASX7112I: The following options are valid for "c:/websphere/appserver/installableApps/ivtApp.ear" MapRolesToUsers BindJndiForEJBNonMessageBinding MapEJBRefToEJB MapWebModToVH MapModulesToServers EnsureMethodProtectionFor10EJB GetServerName preCompileJSPs nopreCompileJSPs distributeApp nodistributeApp useMetaDataFromBinary nouseMetaDataFromBinary deployejb nodeployejb createMBeansForResources nocreateMBeansForResources reloadEnabled noreloadEnabled deployws nodeployws usedefaultbindings defaultbinding.force allowPermInFilterPolicy noallowPermInFilterPolicy verbose update update.ignore.old update.ignore.new installed.ear.destination reloadInterval deployejb.rmic deployejb.dbtype deployejb.dbschema deployejb.classpath deployws.classpath deployws.jardirs defaultbinding.datasource.jndi defaultbinding.datasource.username defaultbinding.datasource.password defaultbinding.cf.jndi defaultbinding.cf.resauth defaultbinding.ejbjndi.prefix defaultbinding.virtual.host defaultbinding.strategy.file appname contextroot custom contenturi contents operationExample output using the addmodule operation:
WASX7112I: The following options are valid for "DefaultWebApplication.war" MapRolesToUsers MapEJBRefToEJB MapWebModToVH MapModulesToServers GetServerName preCompileJSPs nopreCompileJSPs deployejb nodeployejb deployws nodeployws usedefaultbindings defaultbinding.force verbose defaultbinding.datasource.jndi defaultbinding.datasource.username defaultbinding.datasource.password defaultbinding.cf.jndi defaultbinding.cf.resauth defaultbinding.ejbjndi.prefix defaultbinding.virtual.host defaultbinding.strategy.file server node cell cluster contextroot custom contenturi contents operation
publishWSDL
Publishes Web Services Description Language (WSDL) files for the application that is specified in the appname parameter to the file that is specified in the filename parameter.
- Parameters: appname, filename
- Returns: None
Example usage:
Use Jacl:
$AdminApp publishWSDL JAXRPCHandlerServer c:/temp/a.zipUse Jython:
AdminApp.publishWSDL('JAXRPCHandlerServer', 'c:/temp/a.zip')
publishWSDL
Publishes Web Services Description Language (WSDL) files for the application that is specified in the appname parameter to the file that is specified in the filename parameter using the SOAP address prefixes that are specified in the soapAddressPrefixes parameter.
- Parameters: appname, filename, soapAddressPrefixes
- Returns: None
Example usage:
Use Jacl:
$AdminApp publishWSDL JAXRPCHandlersServer c:/temp/a.zip {{JAXRPCHandlersServerApp.war {{http http://localhost:9080}}}}Use Jython:
AdminApp.publishWSDL('JAXRPCHandlersServer', 'c:/temp/a.zip', '[[JAXRPCHandlersServerApp.war [[http http://localhost:9080]]]]')
searchJNDIReferences
Lists applications that refer to the Java Naming and Directory Interface (JNDI) name on a specific node.
- Parameters: Node configuration ID, options
- Returns: string
Example usage:
The following example assumes that an installed application named MyApp has a JNDI name of eis/J2CCF1.
Using Jacl:
$AdminApp searchJNDIReferences $node {-JNDIName eis/J2CCF1 -verbose}Use Jython:
print AdminApp.searchJNDIReferences(node, '[-JNDIName eis/J2CCF1 -verbose]')Example output:WASX7410W: This operation may take a while depending on the number of applications installed in your system. MyApp MapResRefToEJB :ejb-jar-ic.jar : [eis/J2CCF1]
taskInfo
Provides information about a particular task option for an application file.
Many task names have changed between V5.x and V6.x for similar or the exact same operation. You may need to update existing scripts if you are migrating from V5.x to V6.x.
- Parameters: earfile, task name
- Returns: None
Example usage:
Use Jacl:
$AdminApp taskInfo c:/websphere/appserver/installa bleApps/jmsample.ear MapWebModToVHUse Jython:
print AdminApp.taskInfo('c:/websphere/appserver/in stallableApps/jmsample.ear', 'MapWebModToVH')Example output:MapWebModToVH: Selecting virtual hosts for Web modules Specify the virtual host where you want to install the Web modules that are contained in your application. Web modules can be installed on the same virtual host or dispersed among several hosts. Each element of the MapWebModToVH task consists of the following three fields: "webModule," "uri," "virtualHost." Of these fields, the following fields might be assigned new values: "virtualHost"and the following are required: "virtualHost" The current contents of the task after running default bindings are: webModule: JavaMail Sample WebApp uri: mtcomps.war,WEB-INF/web.xml virtualHost: default_host
uninstall
Uninstalls an existing application.
- Parameters: appname- string
- Returns: None
Example usage:
Use Jacl:
$AdminApp uninstall myAppUsing Jython:
AdminApp.uninstall('myApp')Example output:ADMA5017I: Uninstallation of myapp started. ADMA5104I: Server index entry for myCellManager was updated successfully. ADMA5102I: Deletion of config data for myapp from config repository completed successfully. ADMA5011I: Cleanup of temp dir for app myapp done. ADMA5106I: Application myapp uninstalled successfully.
updateAccessIDs
Updates the access ID information for users and groups that are assigned to various roles that are defined in the application. The access IDs are read from the user registry and saved in the application bindings. This operation improves run-time performance of the application. Call this command after installing an application or after editing security role-specific information for an installed application. This method cannot be invoked when the -conntype option is set to NONE. You must be connected to a server to invoke this command.
The bALL Boolean parameter retrieves and saves all access IDs for users and groups in the application bindings. Specify false if you want to retrieve access IDs for users or groups that do not have an access ID in the application bindings.
- Parameters: appname, bALL
- Returns: None
Example usage:
Use Jacl:
$AdminApp updateAccessIDs myapp trueUsing Jython:
AdminApp.updateAccessIDs('myapp', 'true')
view
View the task that is specified by the taskname option parameter for the application or by the module that is specified by the name parameter. Use -tasknames as the option to get a list of valid task names for the application. Otherwise, specify one or more task names as the option.
- Parameters: name, taskname option
- Returns: string
Example usage:
Use Jacl:
$AdminApp view adminconsole {-tasknames}Using Jython:
AdminApp.view('adminconsole', ['-tasknames'])Example output:MapModulesToServers MapWebModToVH MapRolesToUsersUse Jacl:
$AdminApp view adminconsole {-MapModulesToServers}Using Jython:
AdminApp.view('adminconsole', ['-MapModulesToServers'])Example output:
MapModulesToServers: Selecting Application Servers Specify the appserver where you want to install the modules that are contained in your application. Modules can be installed on the same server or dispersed among several servers: Module: adminconsole URI: adminconsole.war,WEB-INF/web.xml Server: WebSphere:cell=juniartiNetwork, node=juniartiManager,server=dmgrExample usage:
Use Jacl:
$AdminApp view adminconsole#adminconsole. war+WEB-INF/ web.xml {-MapRolesToUsers}Use Jython:
AdminApp.view('adminconsole#adminconsole.war+WEB-INF/ web.xml', ['-MapRolesToUsers'])Example output:
MapRolesToUsers: Mapping Users to Roles Each role that is defined in the application or the module must be mapped to a user or a group from the user registry of the domain: Role: administrator Everyone?: No All Authenticated?: No Mapped Users: Mapped Groups: Role: operator Everyone?: No All Authenticated?: No Mapped Users: Mapped Groups: Role: configurator Everyone?: No All Authenticated?: No Mapped Users: Mapped Groups: Role: monitor Everyone?: No All Authenticated?: No Mapped Users: Mapped Groups:
update
Updates an application in non-interactive mode. Provide the application name, content type, and update options.
- Parameters using Jacl: appname, content type, options – string format
- Parameters using Jython: appname, content type, option- string or list format
- Returns: String
This command supports the addition, removal, and update of application subcomponents or the entire application.
Use the content type parameter to indicate if you want to update part of the application or the entire application. The following list includes the valid content type values for the update command:
Example usage:
Use Jacl:
$AdminApp update myApp file {-operation add -contents c:/apps/myApp/web.xml -contenturi META-INF/web.xml}Using Jython with string options:
AdminApp.update(‘myApp’, ‘file’, ‘[-operation add -contents c:/apps/myApp/web.xml -contenturi META-INF/web.xml]’)Using Jython with list options:
AdminApp.update(‘myApp’, ‘file’, [‘-operation’, ‘add’, ‘-contents’, ‘c:/apps/myApp/web.xml’, ‘-contenturi’, ‘META-INF/web.xml’])Example output:Update of singleFile has started. ADMA5009I: Application archive extracted at C:\DOCUME~1\lavena\LOCALS~1\Temp\app_fb5a1960f0\ext Added files from partial ear: [] performFileOperation: source=C:\DOCUME~1\lavena\LOCALS~1\Temp\ app_fb5a1960f0\ext, dest=C:\DOCUME~1\lavena\LOCALS~1\Temp\ app_fb5a1960f0\mrg, uri= META-INF/web.xml, op= add Copying file from C:\DOCUME~1\lavena\LOCALS~1\Temp\ app_fb5a1960f0\ext/META-INF/web.xml to C:\DOCUME~1\lavena\LOCALS~1\Temp \app_fb5a1960f0\mrg\META-INF\web.xml Collapse list is: [] FileMergeTask completed successfully ADMA5005I: Application singleFile configured in WebSphere repository delFiles: [] delM: null addM: null Pattern for remove loose and mod: Loose add pattern: META-INF/[^/]*|WEB-INF/[^/]*|.*wsdl root file to be copied: META-INF/web.xml to C:\asv\b0403.04\WebSphere\AppServer\ wstemp\Scriptfb5a191b4e\workspace\cells\BAMBIE\ applications\ singleFile.ear\deployments\singleFile/META-INF/web.xml ADMA5005I: Application singleFile configured in WebSphere repository xmlDoc: [#document: null] root element: [app-delta: null] ****** delta file name: C:\asv\b0403.04\WebSphere\ AppServer\wstemp\Scriptfb5a191 b4e\workspace\cells\BAMBIE\applications\ singleFile.ear/deltas/delta-1079548405564 ADMA5005I: Application singleFile configured in WebSphere repository ADMA6011I: Deleting directory tree C:\DOCUME~1\lavena\LOCALS~1\Temp\app_fb5a1960f0 ADMA5011I: Cleanup of temp dir for app singleFile done. Update of singleFile has ended.
- app - Indicates to update the entire application. This option is the same as indicating the update option with the install command. With the app value as the content type, specify the operation option with update as the value. Provide the new enterprise archive file (EAR) file using the contents option. You can also specify binding information and application options. By default, binding information for installed modules is merged with the binding information for updated modules. To change this default behavior, specify the update.ignore.old or the update.ignore.new options.
- file - Indicates to update a single file. You can add, remove, or update individual files at any scope within the deployed application. With the file value as the content type, perform operations on the file using the operation option. Depending on the type of operation, additional options are required. For file additions and updates, provide file content and the file URI relative to the root of the EAR file using the contents and contenturi options. For file deletion, provide the file URI relative to the root of the EAR file using the contenturi option which is the only required input. Any other options that you provide are ignored.
- modulefile - Indicates to update a module. You can add, remove, or update an individual application module. If you specify the modulefile value as the content type, indicate the operation to perform on the module using the operation option. Depending on the type of operation, further options are required. For installing new modules or updating existing modules in an application, indicate the file content and the file URI relative to the root of the EAR file using the contents and contenturi options. You can also specify binding information and application options that pertain to the new or updated modules. For module updates, the binding information for the installed module is merged with the binding information for the input module by default. To change the default behavior, specify the update.ignore.old or the update.ignore.new options. To delete a module, indicate the file URI relative to the root of the EAR file.
- partialapp - Indicates to update a partial application.
Use a subset of application components provided in a zip file format you can update, add, and delete files and modules. The zip file is not a valid J2EE archive. Instead, it contains application artifacts in the same hierarchical structure as they display in an EAR file. For more information on how to construct the partial application zip file, see the Java API section. If you indicate the partialapp value as the content type, use the contents option to specify the location of the zip file. When a partial application is provided as an update input, binding information and application options cannot be specified and are ignored, if provided.
For a list of the valid options for the update command, see Options for the AdminApp object install, installInteractive, edit, editInteractive, update, and updateInteractive commands.
updateInteractive
Updates an application in interactive mode. Provide the application name, content type, and update options.
- Parameters using Jacl: appname, content type, options - string format
- Parameters using Jython: appname, content type, option - string or list format
- Returns: String
Use the updateInteractive command to add, remove, and update application subcomponents or an entire application. When you update an application module or an entire application using interactive mode, the steps that you use to configure binding information are similar to those that apply to the installInteractive command. If you update a file or a partial application, the steps that you use to configure the binding information are not available. In this case, the steps are the same as the ones you use with the update command.
Use the content type parameter to indicate if you want to update part of the application or the entire application. The following list contains the valid content type values for the updateInteractive command:
Example usage:
Use Jacl:
$AdminApp updateInteractive myApp modulefile {-operation add -contents c:/apps/myApp/Increment.jar -contenturi Increment.jar -nodeployejb -BindJndiForEJBNonMessageBinding {{"Increment Enterprise JavaBeans" Increment Increment. jar,META-INF/ejb-jar.xml Inc}}}Use Jython string:
AdminApp.updateInteractive( ‘myApp’, ‘modulefile’, ‘[-operation add -contents c:/apps/myApp/Increment.jar -contenturi Increment.jar -nodeployejb -BindJndiForEJBNonMessageBinding [["Increment Enterprise JavaBeans" Increment Increment. jar,META-INF/ejb-jar.xml Inc]]]’)
- app - Indicates to update the entire application. This option is the same as indicating the update option with install command. With the app value as the content type, specify the operation option with update as the value. Provide the new enterprise archive file (EAR) file using the contents option. You can also specify binding information and application options. By default, binding information for installed modules is merged with the binding information for updated modules. To change this default behavior, specify the update.ignore.old or the update.ignore.new options.
- file - Indicates to update a single file. You can add, remove, or update individual files at any scope within the deployed application. With the file value as the content type, perform operations on the file using the operation option. Depending on the type of operation, additional options are required. For file additions and updates, provide file content and the file URI relative to the root of the EAR file using the contents and contenturi options. For file deletion, provide the file URI relative to the root of the EAR file using the contenturi option which is the only required input. Any other options that you provide are ignored.
Use Jython list:
bindJndiForEJBValue = [["Increment Enterprise JavaBeans", "Increment", "Increment.jar,META-INF/ejb-jar.xml", "Inc"]] AdminApp.updateInteractive(‘myApp’, ‘modulefile’, [‘-operation’, ‘add’, ‘-contents’, ‘c:/apps/myApp/Increment.jar’, ‘-contenturi’, ‘Increment.jar’, ‘-nodeployejb’, ‘-BindJndiForEJBNonMessageBinding’, bindJndiForEJBValue])
- modulefile - Indicates to update a module. You can add, remove, or update an individual application module. If you specify the modulefile value as the content type, indicate the operation to perform on the module using the operation option. Depending on the type of operation, additional options are required. For installing new modules or updating existing modules in an application, indicate the file content and the file URI relative to the root of the EAR file using the contents and the contenturi options. You can also specify binding information and application options that pertain to the new or updated modules. For module updates, the binding information for the installed module is merged with the binding information for the input module by default. To change the default behavior, specify the update.ignore.old or the update.ignore.new options. To delete a module, indicate the file URI relative to the root of the EAR file.
Example output:
Getting tasks for: myApp WASX7266I: A was.policy file exists for this application; would you like to display it? [No] Task[4]: Binding enterprise beans to JNDI names Each non message driven enterprise bean in your application or module must be bound to a JNDI name. EJB Module: Increment Enterprise Java Bean EJB: Increment URI: Increment.jar,META-INF/ejb-jar.xml JNDI Name: [Inc]: Task[10]: Specifying the default data source for EJB 2.x modules Specify the default data source for the EJB 2.x Module containing 2.x CMP beans. WASX7349I: Possible value for resource authorization is container or per connection factory EJB Module: Increment Enterprise Java Bean URI: Increment.jar,META-INF/ejb-jar.xml JNDI Name: [DefaultDatasource]: Resource Authorization: [Per connection factory]: Task[12]: Specifying data sources for individual 2.x CMP beans Specify an optional data source for each 2.x CMP bean. Mapping a specific data source to a CMP bean overrides the default data source for the module containing the enterprise bean. WASX7349I: Possible value for resource authorization is container or per connection factory EJB Module: Increment Enterprise Java Bean EJB: Increment URI: Increment.jar,META-INF/ejb-jar.xml JNDI Name: [DefaultDatasource]: Resource Authorization: [Per connection factory]: container Setting "Resource Authorization" to "cmpBinding.container" Task[14]: Selecting Application Servers Specify the appserver where you want to install modules that are contained in your application. Modules can be installed on the same server or dispersed among several servers. Module: Increment Enterprise Java Bean URI: Increment.jar,META-INF/ejb-jar.xml Server: [WebSphere:cell=myCell,node=myNode, server=server1]:
- partialapp - Indicates to update a partial application.
Use subset of application components provided in a zip file format you can update, add, and delete files and modules. The zip file is not a valid Java 2 platform, Enterprise Edition (J2EE) archive. Instead, this file contains application artifacts in the same hierarchical structure as they are displayed in an EAR file.
For more information on how to construct the partial application zip file, see the Java API section. If you indicate the partialapp value as the content type, use the contents option to specify the location of the zip file. When a partial application is provided as an update input, the binding information and application options cannot be specified and are ignored, if provided.
For a list of the valid options for the updateInteractive command, see Options for the AdminApp object install, installInteractive, edit, editInteractive, update, and updateInteractive commands.
Task[16]: Selecting method protections for unprotected methods for 2.x EJB Specify whether you want to assign security role to the unprotected method, add the method to the exclude list, or mark the method as unchecked. EJB Module: Increment Enterprise Java Bean URI: Increment.jar,META-INF/ejb-jar.xml Protection Type: [methodProtection.uncheck]: Task[18]: Selecting backend ID Specify the selection for the BackendID EJB Module: Increment Enterprise Java Bean URI: Increment.jar,META-INF/ejb-jar.xml BackendId list: CLOUDSCAPE_V50_1 CurrentBackendId: [CLOUDSCAPE_V50_1]: Task[21]: Specifying application options Specify the various options available to prepare and install your application. Pre-compile JSP: [No]: Deploy EJBs: [No]: Deploy WebServices: [No]: Task[22]: Specifying EJB deploy options Specify the options to deploy EJB. ....EJB Deploy option is not enabled. Task[24]: Copy WSDL files Copy WSDL files ....This task does not require any user input Task[25]: Specify options to deploy Web services Specify options to deploy Web services ....Web Services deploy option is not enabled. Update of myApp has started. ADMA5009I: Application archive extracted at C:\DOCUME~1\lavena\LOCALS~1\Temp\app_fb5a48e969\ ext/Increment.jar FileMergeTask completed successfully ADMA5005I: Application myApp configured in WebSphere repository delFiles: [] delM: null addM: [Increment.jar, ] Pattern for remove loose and mod: Loose add pattern: META-INF/[^/]*|WEB-INF/[^/]*|.*wsdl root file to be copied: META-INF/application.xml to C:\ asv\b0403.04\WebSphere\AppServer\wstemp\ Scriptfb5a487089\ workspace\cells\BAMBIE\applications\ testSM.ear\deployments\ testSM/META-INF/application.xml del files for full module add/update: []ADMA6017I: Saved document C:\asv\b0403.04\WebSphere\AppServer\ wstemp\Scriptfb5a487089\workspace\cells\ BAMBIE\ applications\ testSM.ear\deployments\testSM/Increment.jar\ META-INF/ejb-jar.xml ADMA6016I: Add to workspace Increment.jar/META-INF/ejb-jar.xml ADMA6017I: Saved document C:\asv\b0403.04\ WebSphere\AppServer\ wstemp\Scriptfb5a487089\workspace\cells\ BAMBIE\ applications\ testSM.ear\deployments\testSM/Increment.jar\ META-INF/MANIFEST.MF ADMA6016I: Add to workspace Increment.jar/ META-INF/MANIFEST.MF ADMA6017I: Saved document C:\asv\b0403.04\ WebSphere\AppServer\ wstemp\Scriptfb5a487089\workspace\cells\BAMBIE\ applications\ testSM.ear\deployments\testSM/Increment.jar\ META-INF/ibm-ejb-jar-bnd.xmi ADMA6016I: Add to workspace Increment.jar/ META-INF/ibm-ejb-jar-bnd.xmi ADMA6017I: Saved document C:\asv\b0403.04\ WebSphere\AppServer\ wstemp\Scriptfb5a487089\workspace\cells\BAMBIE\ applications\ testSM.ear\deployments\testSM/Increment.jar\ META-INF/Table.ddl ADMA6016I: Add to workspace Increment.jar/ META-INF/Table.ddl ADMA6017I: Saved document C:\asv\b0403.04\ WebSphere\ AppServer\wstemp\Scriptfb5a487089\workspace\ cells\BAMBIE\ applications\testSM.ear\deployments\testSM/ Increment.jar\META-INF/ibm-ejb-jar-ext.xmi ADMA6016I: Add to workspace Increment.jar/ META-INF/ibm-ejb-jar-ext.xmi add files for full module add/update: [Increment.jar/ META-INF/ejb-jar.xml, Increment.jar/META-INF/ MANIFEST.MF, Increment.jar/META-INF/ibm-ejb-jar-bnd.xmi, Increment.jar/META-INF/ Table.ddl, Increment.jar/META-INF/ ibm-ejb-jar-ext.xmi] ADMA5005I: Application myApp configured in WebSphere repository xmlDoc: [#document: null] root element: [app-delta: null] ****** delta file name: C:\asv\b0403.04\ WebSphere\ AppServer\wstemp\Scriptfb5a487089\ workspace\cells\BAMBIE\ applications\testSM.ear/deltas/ delta-1079551520393ADMA5005I: Application myApp configured in WebSphere repository ADMA6011I: Deleting directory tree C:\Temp\app_fb5a48e969 ADMA5011I: Cleanup of temp dir for app myApp done. Update of myApp has ended.
Sub-topics
Options for the AdminApp object install, installInteractive, edit, editInteractive, update, and updateInteractive commands
Example: Obtaining option information for AdminApp object commands
Related tasks
Pattern matching with the wsadmin tool
Use the AdminApp object for scripted administration