Development Requirements Requirements and Restrictions for Production Redeployment

8-4 Deploying Applications to Oracle WebLogic Server Figure 8–1 Production Redeployment When you redeploy a new version of an application, WebLogic Server treats the newly-deployed application version as the active version, and begins retiring the older version. During the retirement period, WebLogic Server automatically tracks the applications HTTP sessions and in-progress transactions. WebLogic Server tracks each HTTP session until the session completes or has timed out. In-progress transactions are tracked until the transaction completes, rolls-back, or reaches the transaction timeout period. You can roll back the production redeployment process by making the older application version active. This may be necessary if, for example, you determine that there is a problem with the newer version of the application, and you want WebLogic Server to begin moving clients back to the older version. To make the older application version active, redeploy it.

8.3.2 Production Redeployment In Clusters

In a WebLogic Server cluster, each clustered server instance retires its local deployment of the retiring application version when the current workload is completed. This means that an application version may be retired on some clustered server instances before it is retired on other servers in the cluster. Note, however, that in a cluster failover scenario, client failover requests are always handled by the same application version on the secondary server, if the application version is still available. If the same application version is not available on the secondary server, the failover does not succeed.

8.3.3 Requirements and Restrictions for Production Redeployment

In order to use the production redeployment feature, an application must meet certain requirements during the development and deployment phases.

8.3.3.1 Development Requirements

The production redeployment strategy is supported for: ■ Standalone Web Application WAR modules and Enterprise applications EARs whose clients access the application via a Web application HTTP. ■ Enterprise applications that are accessed by inbound JMS messages from a global JMS destination, or from inbound JCA requests. ■ All types of Web Services, including conversational and reliable Web Services, but not 8.x Web Services. Redeploying Applications in a Production Environment 8-5 Production redeployment is not supported for: ■ Standalone EJB or RAR modules. If you attempt to use production redeployment with such modules, WebLogic Server rejects the redeployment request. To redeploy such modules, remove their version identifiers and explicitly redeploy the modules. ■ Applications that use JTS drivers. For more information on JDBC application module limitations, see JDBC Application Module Limitations in Configuring and Managing JDBC for Oracle WebLogic Server. ■ Applications that obtain JDBC data sources via the DriverManager API; in order to use production redeployment, an application must instead use JNDI to look up data sources. ■ Applications that include EJB 1.1 container-managed persistence CMP EJBs. To use production redeployment with applications that include CMP EJBs, use EJB 2.x CMP instead of EJB 1.1 CMP. Production redeployment only supports HTTP clients and RMI clients see Section 8.3.9, Graceful Shut Down of RMI Client Request Processing . Your development and design team must ensure that applications using production redeployment are not accessed by an unsupported client. WebLogic Server does not detect when unsupported clients access the application, and does not preserve unsupported client connections during production redeployment. During development, applications must be designed to meet specific requirements in order to ensure that multiple versions of the application can safely coexist in a WebLogic Server domain during production redeployment. See Developing Versioned Applications for Production Redeployment in Developing Applications for Oracle WebLogic Server for information about the programming conventions required for applications to use production redeployment. If an Enterprise application includes a JCA resource adapter module, the module: ■ Must be JCA 1.5 compliant ■ Must implement the weblogic.connector.extensions.Suspendable interface ■ Must be used in an application-scoped manner, having enable-access-outside-app set to false the default value. Before resource adapters in a newer version of the EAR are deployed, resource adapters in the older application version receive a callback. WebLogic Server then deploys the newer application version and retires the entire older version of the EAR. For a complete list of production redeployment requirements for resource adapters, see Production Redeployment in Programming Resource Adapters for Oracle WebLogic Server. Caution: Because the production redeployment strategy requires an application to observe certain programming conventions, use production redeployment only with applications that are approved by your development and design staff. Using production redeployment with an application that does not follow Oracles programming conventions can lead to corruption of global resources or other undesirable application behavior. 8-6 Deploying Applications to Oracle WebLogic Server

8.3.3.2 Deployment Requirements