You deploy two different applications to the WebLogic container. One application use Xerces
parser version A and the other application uses Xerces parser version B. Both these versions are
different from the parser version that the WebLogic server uses internally. You want to use the
Filtering Classloader feature to solve this problem. What action would you take to generate proper
filtering Classloader entries?
A.
Modify the applications to use the same version that WebLogic uses internally.
B.
Based on available examples of Filtering Classloader entries, try to modify get the proper
entries.
C.
Deploy and use the Classloader Analyzing Tool to resolve all conflicts with conflicting libraries.
This tool will generate all proper entries.
D.
Split the application into separate WebLogic containers and use different WLS versions of
Xerces but identical that applications require.
E.
Look for a WebLogic release that uses the same version of Xerces that the applications use.
Explanation:
Note:
* The FilteringClassLoader provides a mechanism for you to configure deployment descriptors to
explicitly specify that certain packages should always be loaded from the application, rather than
being loaded by the system classloader. This allows you to use alternate versions of applications
such as Xerces and Ant.
* To configure the FilteringClassLoader to specify a certain package is loaded from an application,
add a prefer-application-packages descriptor element to the weblogic-application.xml which details
the list of packages to be loaded from the application. The following example specifies that
org.apache.log4j.* and antlr.* packages are loaded from the application, not the system
classloader:
<prefer-application-packages>
<package-name>org.apache.log4j.*</package-name>
<package-name>antlr.*</package-name>
</prefer-application-packages>
Reference: Understanding WebLogic Server Application Classloading
Shouldn’t it be C?
I also think it should be C. But C only works, if the deployment is successful and the application is in the active state. In that case the CAT tool can generate the filtering entries.
If the application fails to start because of the conflict, then we can’t use the CAT tool, and have to resort to B, by trial and error.
So not sure.
in the question ” to generate”
in B – “try to modify”
in C – “will generate”
hence, Bis not correct, C correct