geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nathan Mittler" <nathan.mitt...@gmail.com>
Subject Re: classloaders for non-JMS MDBs
Date Mon, 02 Oct 2006 22:29:26 GMT
Hey guys,
Does anyone have any more insight as to what may be going on here?

Thanks,
Nate

On 9/30/06, Nathan Mittler <nathan.mittler@gmail.com> wrote:
>
> David, Thanks for the response.  Sure thing - I've captured the stack
> trace from the ejbCreate method of both MDBs.
>
> First, here's the stack trace from the JMS MDB:
>
> java.lang.Exception: Stack trace
>         at java.lang.Thread.dumpStack(Thread.java:1158)
>         at com.test.CourierPositionMDB.ejbCreate(CourierPositionMDB.java
> :32)
>         at com.test.CourierPositionMDB$$FastClassByCGLIB$$c60caec2.invoke
> (<generated>)
>         at org.openejb.slsb.EJBCreateMethod.execute(EJBCreateMethod.java
> :94)
>         at org.openejb.dispatch.DispatchInterceptor.invoke(
> DispatchInterceptor.java:72)
>         at
> org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke(
> ComponentContextInterceptor.java:56)
>         at org.openejb.mdb.MDBInstanceContext.ejbCreate(
> MDBInstanceContext.java:153)
>         at org.openejb.mdb.MDBInstanceFactory.createInstance(
> MDBInstanceFactory.java:72)
>         at org.openejb.util.SoftLimitedInstancePool.acquire(
> SoftLimitedInstancePool.java:81)
>         at org.openejb.mdb.MDBInstanceInterceptor.invoke(
> MDBInstanceInterceptor.java:81)
>         at org.openejb.SystemExceptionInterceptor.invoke(
> SystemExceptionInterceptor.java:82)
>         at org.openejb.mdb.MDBContainer.invoke(MDBContainer.java:242)
>         at org.openejb.mdb.EndpointHandler.invoke(EndpointHandler.java
> :180)
>         at org.openejb.mdb.EndpointHandler.intercept(EndpointHandler.java
> :223)
>         at
> org.openejb.mdb.EndpointProxy$$EnhancerByCGLIB$$e708dc8a.onMessage
> (<generated>)
>         at
> org.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.onMessage(
> MessageEndpointProxy.java:117)
>         at org.activemq.ra.MessageEndpointProxy.onMessage(
> MessageEndpointProxy.java:57)
>         at org.activemq.ActiveMQSession.deliver(ActiveMQSession.java:569)
>         at org.activemq.ActiveMQSession.run(ActiveMQSession.java:551)
>         at org.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java
> :165)
>         at org.apache.geronimo.connector.work.WorkerContext.run(
> WorkerContext.java:291)
>         at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:172)
>         at
> org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(
> ThreadPool.java:289)
>         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown
> Source)
>         at java.lang.Thread.run(Thread.java:595)
>
> ... and here's the stack trace from the custom MDB:
>
> java.lang.Exception: Stack trace
>         at java.lang.Thread.dumpStack(Thread.java:1158)
>         at com.test.CourierPositionMDB.ejbCreate(CourierPositionMDB.java
> :56)
>         at com.test.CourierPositionMDB$$FastClassByCGLIB$$adae8521.invoke
> (<generated>)
>         at org.openejb.slsb.EJBCreateMethod.execute(EJBCreateMethod.java
> :94)
>         at org.openejb.dispatch.DispatchInterceptor.invoke(
> DispatchInterceptor.java:72)
>         at
> org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke(
> ComponentContextInterceptor.java:56)
>         at org.openejb.mdb.MDBInstanceContext.ejbCreate(
> MDBInstanceContext.java:153)
>         at org.openejb.mdb.MDBInstanceFactory.createInstance(
> MDBInstanceFactory.java:72)
>         at org.openejb.util.SoftLimitedInstancePool.acquire(
> SoftLimitedInstancePool.java:81)
>         at org.openejb.mdb.MDBInstanceInterceptor.invoke(
> MDBInstanceInterceptor.java:81)
>         at org.openejb.SystemExceptionInterceptor.invoke(
> SystemExceptionInterceptor.java:82)
>         at org.openejb.mdb.MDBContainer.invoke(MDBContainer.java:242)
>         at org.openejb.mdb.EndpointHandler.invoke(EndpointHandler.java
> :180)
>         at org.openejb.mdb.EndpointHandler.intercept(EndpointHandler.java
> :223)
>         at
> org.openejb.mdb.EndpointProxy$$EnhancerByCGLIB$$224d7765.onCourierPosition
> (<generated>)
>         at com.test.ra.EndpointWorker$1.run(EndpointWorker.java:109)
>         at org.apache.geronimo.connector.work.WorkerContext.run(
> WorkerContext.java:291)
>         at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:172)
>         at
> org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(
> ThreadPool.java:289)
>         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown
> Source)
>         at java.lang.Thread.run(Thread.java:595)
>
> Thanks,
> Nate
>
>
> On 9/30/06, David Jencks <david_jencks@yahoo.com> wrote:
> >
> >
> > On Sep 30, 2006, at 8:27 AM, Nathan Mittler wrote:
> >
> > > Hi,
> > > Has anyone created custom connectors with G?
> > >
> > > I have a two versions of a simple MDB - one that implements
> > > javax.jms.MessageListener and one that implements a custom
> > > interface.  When onMessage is invoked by the AMQ RAR, I appear to
> > > be in the context of the MDB's classloader and can use dependencies
> > > specified in the MDB's deployment plan.  However, when I invoke the
> > > MDB from a custom connector, it seems to be in the context of the
> > > RAR classloader and I don't have access to any of the MDB's
> > > dependencies.  I assume that I'm doing something bone-headed in my
> > > connector, but I'm not seeing it.  Any ideas?
> >
> > It oughtta work :-).  I don't think it's your connector.  Would it be
> > difficult to get stack traces from the mdbs to see if the paths to
> > get to the mdb are different?
> >
> > thanks
> > david jencks
> >
> > >
> > > Thanks for the help,
> > > Nate
> >
> >
>

Mime
View raw message