Yes On Sun, Aug 22, 2010 at 7:23 PM, David Blevins <[email protected]>wrote:
> > On Aug 22, 2010, at 4:19 PM, Karan Malhi wrote: > > > I want to help running the tck with openejb. How should I proceed with > it, > > any help on this would be great. > > You mean like an OpenEJB tck setup? > > > -David > > > > On Thu, Aug 5, 2010 at 7:44 PM, David Jencks <[email protected]> > wrote: > > > >> Hi Jon, > >> So far this change seems to be working fine. > >> > >> Looking forward to your eyes on the tck:-) > >> > >> thanks > >> david jencks > >> > >> On Aug 5, 2010, at 4:39 PM, Jonathan Gallimore wrote: > >> > >>> Hi David, > >>> > >>> I did suspect there would an issue with which classloader the proxy got > >>> attached to at some point when I wrote this :-). I think your change is > >>> fine, I can't see any problems with it. Does fix the TCK now? If not, > I'm > >>> happy to try and help out more. The necessary paperwork is in so I > should > >> be > >>> able to start having a go with the TCK. > >>> > >>> Jon > >>> > >>> On Thu, Aug 5, 2010 at 6:39 AM, David Jencks <[email protected]> > >> wrote: > >>> > >>>> It would be really really great to have more eyes on the tck. > >>>> > >>>> This particular problem seems to be due to an interaction between > >> geronimo > >>>> and openejb. In geronimo the classloader that the proxy is attached > to > >> is a > >>>> wrapper for the osgi bundle and doesn't actually load any classes > >> itself. > >>>> So once the proxy is attached to that classloader it becomes > completely > >>>> inaccessible. > >>>> > >>>> I'm changing the code involved to use the original proxied class's > >>>> classloader and protection domain. So far I don't see any problems in > >>>> geronimo or openejb. > >>>> > >>>> Class<?> cls = (Class<?>) unsafe.defineClass(proxyName, > >>>> proxyBytes, 0, proxyBytes.length, clsToProxy.getClassLoader(), > >>>> clsToProxy.getProtectionDomain()); > >>>> > >>>> I've opened https://issues.apache.org/jira/browse/OPENEJB-1321 to > >> provide > >>>> a hook for any problems this may cause. I'd really appreciate some > >> review > >>>> and informed criticism. > >>>> > >>>> many thanks > >>>> david jencks > >>>> > >>>> On Aug 4, 2010, at 12:22 PM, David Blevins wrote: > >>>> > >>>>> Thinking it might be good to get more of us setup in the TCK. > >> Currently, > >>>> Geronimo is the only one with a TCK setup, but it is better than > >> nothing. > >>>>> > >>>>> With all the EJB 3.1 work there of course comes a ton of TCK work > >> related > >>>> to getting that functionality to be spec compliant in the pass/fail > >> sense. > >>>> As Geronimo is the only one with a TCK setup it translates to Geronimo > >>>> getting stuck having to finish the EJB 3.1 development work. Seems to > >> make > >>>> the most sense to get the people doing EJB 3.1 feature involved in > >> ensuring > >>>> it passes the TCK. > >>>>> > >>>>> Any committer can request Java EE 6 TCK access via singing faxing or > >>>> emailing ([email protected]) this NDA: > >>>>> > >>>>> http://www.apache.org/jcp/ApacheNDA.pdf > >>>>> > >>>>> > >>>>> Anyway, here is the issue that prompted me to send this note. > Related > >> to > >>>> @LocalBean support. David J. poking at it currently, but any help is > >>>> welcome. There will definitely be many more like this. Having the > most > >>>> people with access to the TCK as possible is probably a very good > thing. > >>>>> > >>>>> > >>>>> Caused by: java.lang.LinkageError: loader (instance of > >>>> org/apache/xbean/osgi/bundle/util/BundleClassLoader): attempted > >> duplicate > >>>> class definition for name: "com/moon/sometest/SomeBean$LocalBeanProxy" > >>>>> at sun.misc.Unsafe.defineClass(Native Method) > >>>>> at > >>>> > >> > org.apache.openejb.util.proxy.LocalBeanProxyGeneratorImpl.createProxy(LocalBeanProxyGeneratorImpl.java:65) > >>>>> at > >>>> > >> > org.apache.openejb.util.proxy.LocalBeanProxyGeneratorImpl.createProxy(LocalBeanProxyGeneratorImpl.java:48) > >>>>> at > >>>> > >> > org.apache.openejb.util.proxy.LocalBeanProxyFactory.newProxyInstance(LocalBeanProxyFactory.java:27) > >>>>> at > >>>> > >> > org.apache.openejb.core.ivm.EjbHomeProxyHandler.createProxy(EjbHomeProxyHandler.java:139) > >>>>> at > >>>> > >> > org.apache.openejb.core.ivm.EjbHomeProxyHandler.create(EjbHomeProxyHandler.java:286) > >>>>> at > >>>> > >> > org.apache.openejb.core.ivm.EjbHomeProxyHandler._invoke(EjbHomeProxyHandler.java:169) > >>>>> at > >>>> > >> > org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:282) > >>>>> at $Proxy52.create(Unknown Source) > >>>>> at > >>>> > >> > org.apache.openejb.core.ivm.naming.BusinessLocalBeanReference.getObject(BusinessLocalBeanReference.java:34) > >>>>> at > >>>> > >> > org.apache.openejb.core.ivm.naming.Reference.getContent(Reference.java:40) > >>>>> at > >>>> > org.apache.xbean.naming.context.ContextUtil.resolve(ContextUtil.java:61) > >>>>> at > >>>> > >> > org.apache.xbean.naming.context.AbstractContext.lookup(AbstractContext.java:116) > >>>>> at > >>>> > >> > org.apache.xbean.naming.context.AbstractContext.lookup(AbstractContext.java:605) > >>>>> at > >>>> > >> > org.apache.geronimo.openejb.DeepBindableContext$ContextWrapper.lookup(DeepBindableContext.java:97) > >>>>> at > >>>> > >> > org.apache.openejb.core.ivm.naming.IntraVmJndiReference.getObject(IntraVmJndiReference.java:39) > >>>>> at > >>>> > >> > org.apache.openejb.core.ivm.naming.Reference.getContent(Reference.java:40) > >>>>> > >>>>> > >>>>> -David > >>>>> > >>>> > >>>> > >> > >> > > > > > > -- > > Karan Singh Malhi > > -- Karan Singh Malhi
