WebLogic Application redeployment using shared libraries – without downtime by Andreas Koop
By JuergenKress on Aug 06, 2013
Environment Oracle WebLogic 10.3.6
Use Case An application that depends on custom shared libraries needs to be redeployed without downtime. That means without interrupting the availability of the application to existing and new clients. Since production redeployment is not available for libraries we need to think about a different approach.
shared library (as war) is deployed (state: active) and targeted to -
for simplicity say - AdminServer with the following version settings:
An application references that library in its weblogic.xml in the following way:
<?xml version='1.0' encoding='UTF-8'?>
The library is referenced without any version information. That means it will reference the highest available deployed library version. That application is successfully deployed and also targeted to AdminServer. Its state is active. It is working correctly, accesses Java classes in the shared library.
Problem Trying to deploy the existing library (not changing the version information) once again java weblogic.Deployer -adminurl t3://eden.local:7001 -username weblogic -password welcome1 -upload -library -targets AdminServer -deploy -source enpit-shared-lib-war.war
results in the following error:
Cannot undeploy library Extension-Name: enpit-common-war-lib, Specification-Version: 1, Implementation-Version: 1.0.4 from server AdminServer, because the following deployed applications reference it: enpittestcommons-reflib.war
Solution Trial 1 We change the MANIFEST.MF of the Shared Library that has to be redeployed to
Implementation-Version: 1.0.5 (the deployed one has 1.0.4).
Lets see what happens. Read the article here.
For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.