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