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.

Reply via email to