[ https://issues.apache.org/jira/browse/LANG-626?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Henri Yandell updated LANG-626: ------------------------------- Fix Version/s: (was: 3.x) 3.0.1 > object cloning with SerializationUtils has classloader problems with no > workaround > ---------------------------------------------------------------------------------- > > Key: LANG-626 > URL: https://issues.apache.org/jira/browse/LANG-626 > Project: Commons Lang > Issue Type: Bug > Components: lang.* > Environment: WebLogic 10.3 > Reporter: Ernest Pasour > Fix For: 3.0.1 > > Attachments: ClassLoaderAwareCloneMethod.zip, > ContextClassLoaderAwareCloneMethod.zip > > > In WebLogic 10.3, commons_lang is included on the main classpath, trumping > the commons_lang on a webapp classpath (in webinf/lib). This causes > ClassNotFoundException errors when using SerializationUtils.clone() because > Java serialization uses the classloader of the current class (class invoked > from) when doing serialization. Java serialization does not respond to the > thread context classloader. > Fix: The following web page suggests a fix (including the full source code) > that honors the context classloader if set. I don't know if this is the > ideal solution, but at least it allows the problem to be worked around > without affecting working behavior for existing clients. > http://www.mail-archive.com/commons-dev@jakarta.apache.org/msg44524.html > Workaround: There is a flag to set on weblogic that inverts the classloader. > *HOWEVER*, this only works if the webapp does not need certain xml jars. > Otherwise, WebLogic will fail to start because *it* has classloader issues. > Therefore, this is not an acceptable workaround. > Another workaround: The only workaround I know of is to copy the > SerializationUtils class into a different package in my app so that the > proper invocation context will be used for serialization. This is very > undesirable. > I found these 3 bugs in the database that all seem to be the same problem. > https://issues.apache.org/jira/browse/OJB-140 > https://issues.apache.org/jira/browse/LANG-241 > https://issues.apache.org/jira/browse/JS2-831 -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira