Michael Seele created GERONIMO-6369:
---------------------------------------

             Summary: Cannot deploy EAR when using SystemProperties gbean and 
java 7
                 Key: GERONIMO-6369
                 URL: https://issues.apache.org/jira/browse/GERONIMO-6369
             Project: Geronimo
          Issue Type: Bug
      Security Level: public (Regular issues)
          Components: deployment
    Affects Versions: 3.0-beta-1, 2.2.1
         Environment: Eclipse 3.7.2 (Build id: M20120208-0800)
Apache Geronimo v3.0 Server Adapter (Version: 3.0.0-20111130113455)
Eclipse Web Developer Tools 
3.3.2.v201111030500-7O7IFj6EMjB7yO1Xs_G1kMtQeOye6HTXFWve95_R (Build id: 
20120210195245)

geronimo-tomcat7-javaee6-3.0-beta-1
            Reporter: Michael Seele


When you use the "org.apache.geronimo.system.properties.SystemProperties" gbean 
and want to run the Geronimo with Java 7, you get an Exception when you want to 
deploy the EAR from inside Eclipse: Unable to find PropertyEditor for 
java.util.Properties
(StackTrace see below)
With Java 6 it works fine.

The Problem is that java.beans.PropertyEditorManager has been re-written in 
Java 7. 
When you call java.beans.PropertyEditorManager.findEditor(Class<?>) in Java 7, 
the java.beans.ThreadGroupContext.getPropertyEditorFinder() from the current 
ThreadContext is called. This is a RMI ThreadContext which do nothing know 
about the org.apache.geronimo.common.propertyeditor.PropertyEditors hack 
appendEditorSearchPath("org.apache.geronimo.common.propertyeditor");

For this reason java.beans.PropertyEditorManager.findEditor(Class<?>) returns 
null when you run the Geronimo with Java 7.

We have build a sample eclipse snippet project with which you can reproduce the 
Bug.

This is the Exception you get:

Unable to find PropertyEditor for java.util.Properties
org.apache.geronimo.common.DeploymentException: Unable to find PropertyEditor 
for java.util.Properties
        at 
org.apache.geronimo.deployment.service.SingleGBeanBuilder.setAttribute(SingleGBeanBuilder.java:81)
        at 
org.apache.geronimo.deployment.service.GBeanBuilder.addGBeanData(GBeanBuilder.java:123)
        at 
org.apache.geronimo.deployment.service.GBeanBuilder.build(GBeanBuilder.java:108)
        at 
org.apache.geronimo.deployment.NamespaceDrivenBuilderCollection.build(NamespaceDrivenBuilderCollection.java:43)
        at 
org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(EARConfigBuilder.java:701)
        at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:255)
        at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:140)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at 
org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34)
        at 
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:131)
        at 
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:883)
        at 
org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:245)
        at org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:344)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at 
org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34)
        at 
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:131)
        at 
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:883)
        at 
org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:245)
        at 
org.apache.geronimo.system.jmx.MBeanGBeanBridge.invoke(MBeanGBeanBridge.java:172)
        at 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
        at 
com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:791)
        at 
javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1447)
        at 
javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:89)
        at 
javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1292)
        at java.security.AccessController.doPrivileged(Native Method)
        at 
javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1387)
        at 
javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:812)
        at sun.reflect.GeneratedMethodAccessor68.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
        at sun.rmi.transport.Transport$1.run(Transport.java:177)
        at sun.rmi.transport.Transport$1.run(Transport.java:174)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
        at 
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553)
        at 
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808)
        at 
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:722)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to