Sunday, April 6, 2008

what is hot deployment?

Hot deployment and dynamic reloading in Websphere

Why and when to perform this task

You can make various changes to applications and their contents without having to stop the server and start it again. Making these types of changes is known as hot deployment and dynamic reloading.

Hot deployment is the process of adding new components (such as WAR files, EJB Jar files, enterprise Java beans, servlets, and JSP files) to a running server without having to stop the application server process and start it again.

Dynamic reloading is the ability to change an existing component without needing to restart the server in order for the change to take effect. Dynamic reloading involves:

  • Changes to the implementation of a component of an application, such as changing the implementation of a servlet
  • Changes to the settings of the application, such as changing the deployment descriptor for a Web module

If the application you are updating is deployed on a server that has its application class loader policy set to Single, you might not be able to dynamically reload your application. At minimum, you must restart the server after updating your application.

Steps for this task

1.       Locate your expanded application files. The application files are in the directory you specified when installing the application or, if you did not specify a custom target directory, are in the default target directory, install_root/installedApps/cell_name. Your EAR file, ${APP_INSTALL_ROOT}/cell_name/application_name.ear, points to the target directory. The variables.xml file for the node defines ${APP_INSTALL_ROOT}.

It is important to locate the expanded application files because, as part of installing applications, a WebSphere application server unjars portions of the EAR file onto the file system of the computer that will run the application. These expanded files are what the server looks at when running your application.

If you cannot locate the expanded application files, look at the binariesURL attribute in the deployment.xml file for your application. The attribute designates the location the run time uses to find the application files.

For the remainder of this information on hot deployment and dynamic reloading, application_root represents the root directory of the expanded application files.

2.       Locate application metadata files. The metadata files include the deployment descriptors (web.xml, application.xml, ejb-jar.xml, and the like), the bindings files (ibm-web-bnd.xmi, ibm-app-bnd.xmi, and the like), and the extensions files (ibm-web-ext.xmi, ibm-app-ext.xmi, and the like).

Metadata XML files for an application can be loaded from one of two locations. The metadata files can be loaded from the same location as the application binary files (such as application_root/META-INF) or they can be loaded from the WebSphere configuration tree, ${CONFIG_ROOT}/cells/cell_name/applications /application_EAR_name/deployments/application_name/. The value of the useMetadataFromBinary flag specified during application installation controls which location is used. If specified, the metadata files are loaded from the same location as the application binary files. If not specified, the metadata files are loaded from the application deployment folder in the configuration tree.

For the remainder of this information, metadata_root represents the location of the metadata files for the specified application or module.

3.       (Optional)   Examine the values specified for Reload Enabled and Reload Interval on the settings page for your enterprise application. If reloading of application files is enabled and the reload interval is greater than zero (0), the application's files are reloaded after the application is updated. For Web modules such as servlets and JavaServer page (JSP) files, a Web container reloads a Web module only when the IBM extension reloadingEnabled in the ibm-web-ext.xmi file is also set to true. You can set reloadingEnabled to true when editing your Web module's extended deployment descriptors in an assembly tool.

4.       Change or add the following components or modules as needed:

o        Application files

o        WAR files

o        EJB Jar files

o        HTTP plug-in configuration files

1.       For changes to take effect, you might need to start, stop, or restart an application. "Starting and stopping applications" provides information on using the administrative console to start, stop, or restart an application. "Example: Starting an application using wsadmin" and "Example: Stopping running applications on a server using wsadmin" provide information on using the wsadmin scripting tool.

Results

The application files are updated on the server.

Because you directly manipulated the application files on the server, you might not be able to later use the administrative console or a wsadmin scripting command to work with the files. For example, if you try exporting a manually changed application using Export on an Enterprise Applications console page, your manual changes to an application in the installedApps directory are not exported. To export those changes, you must copy and move the application files manually.

 

No comments:

Post a Comment