Hi,

Jay SenSharma

Jay SenSharma

In a production environment, deployed applications frequently require 24×7 availability in order to provide uninterrupted services to customers and internal clients.

Production Redeployment (Hot Deployment)

Production redeployment strategy involves deploying a new version of an updated application alongside an older version of the same application. WebLogic Server automatically manages client connections so that only new client requests are directed to the new version. Clients already connected to the application during the redeployment continue to use the older version of the application until they complete their work, at which point WebLogic Server automatically retires the older application.

Production redeployment enables you to update and redeploy an application in a production environment without stopping the application or otherwise interrupting the application’s availability to clients. Production redeployment saves you the trouble of scheduling application downtime, setting up redundant servers to host new application versions, manually managing client access to multiple application versions, and manually retiring older versions of an application.

Here is a Simple Demo of it:

Step1). Use the Following command to Deploy a Fresh Application with the -appversion flag using weblogic.Deployer utility:

Deploy the Application Like following: (VersionA)

java weblogic.Deployer -adminurl t3://localhost:7001 -username weblogic -password weblogic -deploy -name complexServiceEar -appversion VesionA -targets AdminServer -source /apps/Original/complexServiceEar.ear

Step2). See the Admin Console …you will find in the Deployment page that the Application is deployed with the Version in for as “VersionA”.

Step3). Now If you Deploy the Application Like following: (VersionB)

java weblogic.Deployer -adminurl t3://localhost:7001 -username weblogic -password weblogic -deploy -name complexServiceEar -appversion VesionB -retiretimeout 30 -targets AdminServer -source /apps/NewVersion/complexServiceEar.ear

Then you will find in the Admin Console that Another Version (VersionB) is deployed in the AdminServer of the Same application…As in the above deployment command we have specified that “-retiretimeout 30” means after within 30 Seconds you will find that the Old Version of Application (VersionA) will be declared as “Retired” in Admin Console. And will not be used by WebLogic any more.

The “retiretimeout” is just to specify when the Current Active Application will become Retired…WebLogic Will never try to Undeploy the Retired application automatically. retiretimeout is an attribute just to make sure that the Users Sessions from the exesting versions should not be lost immediately…WLS will wait at least for the time specified in this attribute …before making the application to Retired…In the mean time All new request will be passed to the new Application Version.

Step 4). Now we need to manually Undeploy the Old version of Application using the following command.

java weblogic.Deployer -adminurl t3://localhost:7001 -username weblogic -password weblogic -undeploy -name complexServiceEar -appversion VesionA -targets AdminServer.

Always keep in mind the following RESTRICTIONS/LIMITATIONS of Production redeployment (Versioning):

http://download.oracle.com/docs/cd/E11035_01/wls100/deployment/redeploy.html#wp1023028

————————

Thanks

Jay senSharma

If you enjoyed this post, please considerleaving a comment or subscribing to the RSS feed to have future articles delivered to your feed reader.