You can check the documents below:
1. It is not a WebLogic Server (WLS) Support Pattern: Investigating Different Classloading Issues (Doc ID 1572862.1)
libdirectory is not recommended as a general-purpose method for sharing a JARs between one or two applications deployed in a domain, or for sharing JARs that need to be updated periodically. If you update a JAR in the
libdirectory, you must reboot all servers in the domain in order for applications to realize the change. If you need to share a JAR file or Java EE modules among several applications, use the Java EE libraries feature described in Chapter 9, "Creating Shared Java EE Libraries and Optional Packages.""
Probably the application fail because the have configured the shared libs inside of application descriptors like weblogic.xml and weblogic-application.xml
3. Changing all the applications might be a risk. Would it be possible to add more managed servers to the domain to distribute the load?
I hope this helps
Thanks for your response.
Thanks Luz Mestre-Oracle
. Yes Agree with you that when there is a change in the JAR file all the Cluster in the Domain have to be restarted. Currently we have only 1 Cluster Configured for where all the applications are deployed.
Increasing the number of Cluster in the Domain is a viable option and we have tried this Option. But the issue is even in if we introduce new clusters the as the number of application referencing the shared library is going to remain the same. And as the number of Applications increase the memory footprint is going to increase.
JAR File update in the domain Lib is not a common activity in our Application. So we might even take a scheduled window to restart the Clusters in the Domain.
But the issue of moving way from Shared Lib to DOMAIN Lib is what I am not able to figure out. As mentioned in my post when I have third party JAR which my applications are referencing too like Camel, Spring, Hibernate,etc are packaged as part of either the EAR or Shared Library are deployed without any errors. But if the same set of JAR files being deployed as part of Domain LIB fail with the "ClassNotFoundException - java.lang.ClassNotFoundException: org.osgi.framework.BundleActivator".
Thanks for your response. Our Application is currently using Shared Library. The configuration is very simple and we have it working. But the issue is due to Shared Library each of the referencing applications are loading the dependent java classes into PERM-GEN thereby increasing the PERM-GEN.
We are currently using Weblogic 11.g, in which we are facing the ClassNotFoundException. but when deployed the same set of JAR in the DOMAIN lib in Weblogic 12c it was successful and all the applications got deployed successfully and the memory foot print was reduced significantly. But the challenge is we cannot use Weblogic 12C.
Do you have any thoughts on how to solve the issue on Weblogic 11g.