-
1. Re: How to use my own common-collections.jar in jBoss 4.2.x
jaikiran Jan 1, 2009 8:50 AM (in response to mrityunjay)How have you configured classloader scoping? Please post the relevant files and more details about your application packaging. Also please post the entire exception stacktrace.
While posting logs or code or xml content, please wrap it in a code block by using the Code button in the message editor window. And please use the Preview button to ensure your post is correctly formatted. -
2. Re: How to use my own common-collections.jar in jBoss 4.2.x
mrityunjay Jan 5, 2009 1:26 AM (in response to mrityunjay)We tried the following steps for implementing classpath isolation in jBoss 4.2 (but not working as expected).
First, edit the conf/jboss-service.xml file and set the NamingService CallByValue to true:
<!-- The call by value mode. true if all lookups are unmarshalled using
the caller's TCL, false if in VM lookups return the value by reference.
-->
true
...
Second, edit the deploy/ear-deployer.xml file and set the Isolated and CallByValue attributes to true:
<!-- EAR deployer, remove if you are not using ear deployments -->
<!-- A flag indicating if ear deployments should have their own scoped
class loader to isolate their classes from other deployments.
-->
true
<!-- A flag indicating if the ear components should have in VM call
optimization disabled.
-->
true
Last, edit the deploy/jboss-web.deployer/META-INF/jboss-service.xml file and set the Java2ClassLoadingCompliance and UseJBossWebLoader attributes to false:
<!-- Get the flag indicating if the normal Java2 parent first class
loading model should be used over the servlet 2.3 web container first
model.
-->
false
true
<!-- A flag indicating if the JBoss Loader should be used. This loader
uses a unified class loader as the class loader rather than the tomcat
specific class loader.
-->
false
----------------- The exception we are getting are as follows----------------
2009-01-01 00:30:41,000 ERROR [STDERR] Caused by: java.io.InvalidClassException: org.apache.commons.collections.map.ListOrderedMap; class invalid for deserialization
2009-01-01 00:30:41,000 ERROR [STDERR] at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:571)
2009-01-01 00:30:41,000 ERROR [STDERR] at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1552)
2009-01-01 00:30:41,000 ERROR [STDERR] at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466)
2009-01-01 00:30:41,000 ERROR [STDERR] at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1699)
2009-01-01 00:30:41,000 ERROR [STDERR] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
2009-01-01 00:30:41,000 ERROR [STDERR] at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
2009-01-01 00:30:41,000 ERROR [STDERR] at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
2009-01-01 00:30:41,000 ERROR [STDERR] at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
2009-01-01 00:30:41,000 ERROR [STDERR] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
2009-01-01 00:30:41,000 ERROR [STDERR] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
2009-01-01 00:30:41,000 ERROR [STDERR] at java.util.HashMap.readObject(HashMap.java:1067)
2009-01-01 00:30:41,000 ERROR [STDERR] at sun.reflect.GeneratedMethodAccessor269.invoke(Unknown Source)
2009-01-01 00:30:41,000 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
2009-01-01 00:30:41,000 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:585)
2009-01-01 00:30:41,000 ERROR [STDERR] at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
2009-01-01 00:30:41,000 ERROR [STDERR] at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)
2009-01-01 00:30:41,000 ERROR [STDERR] at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
2009-01-01 00:30:41,000 ERROR [STDERR] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
2009-01-01 00:30:41,000 ERROR [STDERR] at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
2009-01-01 00:30:41,000 ERROR [STDERR] at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
2009-01-01 00:30:41,000 ERROR [STDERR] at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
2009-01-01 00:30:41,000 ERROR [STDERR] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
2009-01-01 00:30:41,000 ERROR [STDERR] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)