You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "Ted Kirby (JIRA)" <de...@geronimo.apache.org> on 2006/07/28 22:52:14 UTC

[jira] Commented: (GERONIMO-2239) java.lang.UnsupportedOperationException in org.openejb.deployment.OpenEJBReferenceBuilder

    [ http://issues.apache.org/jira/browse/GERONIMO-2239?page=comments#action_12424168 ] 
            
Ted Kirby commented on GERONIMO-2239:
-------------------------------------

Now that I look at the code, this is probably easily fixed by checking for Collections.EMPTY_MAP, and if so, set nameQuery to a new HashMap()

> java.lang.UnsupportedOperationException in org.openejb.deployment.OpenEJBReferenceBuilder
> -----------------------------------------------------------------------------------------
>
>                 Key: GERONIMO-2239
>                 URL: http://issues.apache.org/jira/browse/GERONIMO-2239
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: deployment, OpenEJB
>    Affects Versions: 1.1.1
>            Reporter: Ted Kirby
>            Priority: Critical
>
> java.lang.UnsupportedOperationException
> 	at java.util.AbstractMap.put(AbstractMap.java:243)
> 	at java.util.AbstractMap.putAll(AbstractMap.java:332)
> 	at org.openejb.deployment.OpenEJBReferenceBuilder.getMatchesFromName(OpenEJBReferenceBuilder.java:283)
> 	at org.openejb.deployment.OpenEJBReferenceBuilder.getImplicitMatch(OpenEJBReferenceBuilder.java:298)
> 	at org.openejb.deployment.OpenEJBReferenceBuilder.createEJBRemoteRef(OpenEJBReferenceBuilder.java:219)
> 	at org.openejb.deployment.OpenEJBReferenceBuilder$$FastClassByCGLIB$$bfd62c9f.invoke(<generated>)
> 	at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> 	at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> 	at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:122)
> 	at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:817)
> 	at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
> 	at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
> 	at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
> 	at org.apache.geronimo.j2ee.deployment.EJBReferenceBuilder$$EnhancerByCGLIB$$c7839d34.createEJBRemoteRef(<generated>)
> 	at org.apache.geronimo.j2ee.deployment.RefContext.getEJBRemoteRef(RefContext.java:69)
> 	at org.apache.geronimo.naming.deployment.ENCConfigBuilder.addEJBRef(ENCConfigBuilder.java:412)
> 	at org.apache.geronimo.naming.deployment.ENCConfigBuilder.addEJBRefs(ENCConfigBuilder.java:339)
> 	at org.apache.geronimo.naming.deployment.ENCConfigBuilder.buildComponentContext(ENCConfigBuilder.java:731)
> 	at org.apache.geronimo.client.builder.AppClientModuleBuilder.buildComponentContext(AppClientModuleBuilder.java:672)
> 	at org.apache.geronimo.client.builder.AppClientModuleBuilder.addGBeans(AppClientModuleBuilder.java:530)
> 	... 56 more
> in OpenEJBReferenceBuilder, getImplicitMatch say:
>         Collection matches = getMatchesFromName(isSession, Collections.EMPTY_MAP, context, context.getId(), isRemote, home, remote);
>        
> However,
>  getMatchesFromName(boolean isSession, Map nameQuery, Configuration context, Artifact id, boolean isRemote, String home, String remote)  {
>             nameQuery.putAll(ENTITY);
>                     }
> Collections.EMPTY_MAP is immutable!
> This code was inserted as part of fix  2823  in openejb., a fix for JIRAs 2120 and 2142.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira