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 Sat, 30 Sep 2006 18:04:06 GMT
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