register PropertyEditors locally, not globally
----------------------------------------------
Key: XBEAN-95
URL: https://issues.apache.org/jira/browse/XBEAN-95
Project: XBean
Issue Type: Bug
Components: spring
Reporter: Christopher Sahnwaldt
org.apache.xbean.spring.context.impl.PropertyEditorHelper registers
PropertyEditors for java.io.File, java.net.URI, java.util.Date and
javax.management.ObjectName using
java.beans.PropertyEditorManager.registerEditor(). This may cause problems:
- the usual problem with global variables: another application running in the
same JVM may register a different PropertyEditor, e.g. for java.util.Date. One
of the applications will then use the PropertyEditor that was registered by the
other application. Which application 'wins' depends on the order of the calls
to PropertyEditorManager.registerEditor().
- java.beans.PropertyEditorManager keeps a strong reference to the registered
classes. The xbean PropertyEditor classes are loaded by the context class
loader, (which is the webapp class loader if running in Tomcat etc.). The class
java.beans.PropertyEditorManager is loaded by the bootstrap class loader. This
means that there is a strong reference from the bootstrap class loader to the
webapp class loader, which means that the webapp class loader cannot be
unloaded, which means that the webapp is not garbage collected when it is
undeployed.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.