How Production Redeployment Works

Redeploying Applications in a Production Environment 8-3 Note that redeployment for modules in an Enterprise application uses the in-place redeployment strategy, which does not guarantee uninterrupted client access to the module. For this reason, you should ensure that partial redeployment of J2EE modules in an EAR takes place only during scheduled application downtime, or when it is not critical to preserve client access to the application. See Section 8.6, Using Partial Redeployment for J2EE Module Updates .

8.2 Understanding When to Use Different Redeployment Strategies

The following table summarizes each WebLogic Server redeployment strategy and describes the scenarios in which you would use each strategy.

8.3 Using Production Redeployment to Update Applications

WebLogic Server enables you to redeploy a new, updated version of a production application without affecting existing clients of the application, and without interrupting the availability of the application to new client requests.

8.3.1 How Production Redeployment Works

WebLogic Server performs production redeployment by deploying a new version of an application alongside an older, running version of the application. While redeployment is taking place, one version of the application active, while the other version is retiring. The active application version receives all new client connection requests for the application, while the retiring application version processes only those client connections that existed when redeployment took place. WebLogic Server undeploys the retiring application version after all existing clients of the application have finished their work, or when a configured timeout is reached. Table 8–1 Summary of Redeployment Strategies Redeployment Strategy Summary Usage Production Redeployment Redeploys a newer version of an application alongside an existing version of the application. ■ Upgrading Web applications and Enterprise applications that demand uninterrupted client access. In-Place Redeployment of Applications and Modules Application classloaders are immediately replaced with newer classloaders to load the updated application class files. WebLogic Server does not guarantee uninterrupted client access during redeployment, and existing clients state information may be lost. ■ Replacing applications that have been taken off-line for scheduled maintenance. ■ Upgrading applications that do not require uninterrupted client access. Partial Redeployment of Static Files In-Place Redeployment HTML, JSPs, graphics files, or other static files are immediately replaced with updated files. ■ Updating individual Web application files that do not affect application clients. Partial Redeployment of J2EE Modules In-Place Redeployment Module classloaders are immediately replaced with newer classloaders to load the updated class files. WebLogic Server does not guarantee uninterrupted client access to the module during redeployment, and existing clients state information may be lost. ■ Replacing a component of an Enterprise application that has been taken off-line for scheduled maintenance, or that does not require uninterrupted client access. 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