Title: RE: [JBoss-user] Is it possible to use a Local Interface to an EJB from an MBean t hread in the same VM?

Thanks!  I used our session bean facade instead of going
directly to the entity bean, so I'd get a new transaction.
Works now.  I've also now upgraded to RC3...

Tx,
JD

-----Original Message-----
From: David Jencks [mailto:[EMAIL PROTECTED]]
Sent: Thursday, May 23, 2002 2:16 PM
To: [EMAIL PROTECTED]
Subject: Re: [JBoss-user] Is it possible to use a Local Interface to an
EJB from an MBean t hread in the same VM?


If you start a new thread, you've lost your transaction context.  The error
looks a bit as if a transaction is missing.  How about trying with a
current jboss 3 version and telling us what the transaction settings on
your ejb's are?

david jencks

On 2002.05.23 16:35:00 -0400 JD Brennan wrote:
> I've got
>
> client -> EJB -> MBean -> EJB
>   1        2       3       4
>
> this works fine when 2, 3 and 4 are all in the same
> thread, but when I have the MBean create a new thread
> I get NullPointerException (stack trace is below) trying
> to call my EJB through a local interface.
>
> I'm using an MBean so I can create a thread to have
> things run asynchronously in JBoss.  Is this not
> the right way to design this?  Should it work?
>
> JBoss 3.0 Beta
> Linux
> JDK 1.4
>
> Thanks!
> JD
>
> Stack trace:
> 13:22:08,797 ERROR [LogInterceptor] TransactionRolledbackException,
> causedBy:
> java.lang.NullPointerException
>         at
> org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.getApplicationTxDataMap(JDBC
> StoreManager.java:196)
>         at
> org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.getApplicationTxData(JDBCSto
> reManager.java:212)
>         at
> org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.getEntityTxDataMap(JDBCStore
> Manager.java:224)
>         at
> org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.getEntityTxData(JDBCStoreMan
> ager.java:233)
>         at
> org.jboss.ejb.plugins.cmp.jdbc.ReadAheadCache.getPreloadDataMap(ReadAheadCac
> he.java:368)
>         at
> org.jboss.ejb.plugins.cmp.jdbc.ReadAheadCache.load(ReadAheadCache.java:204)
>         at
> org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.execute(JDBCLoadEntityC
> ommand.java:76)
>         at
> org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.execute(JDBCLoadEntityC
> ommand.java:62)
>         at
> org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.loadEntity(JDBCStoreManager.
> java:415)
>         at
> org.jboss.ejb.plugins.CMPPersistenceManager.loadEntity(CMPPersistenceManager
> .java:388)
>         at
> org.jboss.resource.connectionmanager.CachedConnectionInterceptor.loadEntity(
> CachedConnectionInterceptor.java:304)
>         at
> org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invoke(EntitySynchron
> izationInterceptor.java:283)
>         at
> org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(Cach
> edConnectionInterceptor.java:147)
>         at
> org.jboss.ejb.plugins.EntityInstanceInterceptor.invoke(EntityInstanceInterce
> ptor.java:187)
>         at
> org.jboss.ejb.plugins.EntityLockInterceptor.invoke(EntityLockInterceptor.jav
> a:107)
>         at
> org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor
> .java:96)
>         at
> org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.
> java:219)
>         at
> org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:61)
>         at
> org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:12
> 7)
>         at
> org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:166)
>         at org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:474)
>         at
> org.jboss.ejb.plugins.local.BaseLocalContainerInvoker.invoke(BaseLocalContai
> nerInvoker.java:307)
>         at
> org.jboss.ejb.plugins.local.BaseLocalContainerInvoker$EntityProxy.invoke(Bas
> eLocalContainerInvoker.java:407)
>         at $Proxy531.getTaskType(Unknown Source)
>         at
> com.rendition.service.TaskDaemon$TaskRunner.run(TaskDaemon.java:420)
>         at java.lang.Thread.run(Thread.java:536)
> 13:22:08,802 ERROR [STDERR] javax.ejb.TransactionRolledbackLocalException:
> Error getting application tx data map.
> Embedded Exception
> null; nested exception is:
>         javax.ejb.EJBException: Error getting application tx data map.
> Embedded Exception
> null
> Embedded Exception
> Error getting application tx data map.
> Embedded Exception
> null; nested exception is:
>         javax.ejb.EJBException: Error getting application tx data map.
> Embedded Exception
> null
> --
>
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
> <HTML>
> <HEAD>
> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
> <META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2653.12">
> <TITLE>Is it possible to use a Local Interface to an EJB from an MBean
> thread in the same VM?</TITLE>
> </HEAD>
> <BODY>
>
> <P><FONT SIZE=2>I've got</FONT>
> </P>
>
> <P><FONT SIZE=2>client -&gt; EJB -&gt; MBean -&gt; EJB</FONT>
> <BR><FONT SIZE=2>&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4</FONT>
> </P>
>
> <P><FONT SIZE=2>this works fine when 2, 3 and 4 are all in the
> same</FONT>
> <BR><FONT SIZE=2>thread, but when I have the MBean create a new
> thread</FONT>
> <BR><FONT SIZE=2>I get NullPointerException (stack trace is below)
> trying</FONT>
> <BR><FONT SIZE=2>to call my EJB through a local interface.</FONT>
> </P>
>
> <P><FONT SIZE=2>I'm using an MBean so I can create a thread to
> have</FONT>
> <BR><FONT SIZE=2>things run asynchronously in JBoss.&nbsp; Is this
> not</FONT>
> <BR><FONT SIZE=2>the right way to design this?&nbsp; Should it
> work?</FONT>
> </P>
>
> <P><FONT SIZE=2>JBoss 3.0 Beta</FONT>
> <BR><FONT SIZE=2>Linux</FONT>
> <BR><FONT SIZE=2>JDK 1.4</FONT>
> </P>
>
> <P><FONT SIZE=2>Thanks!</FONT>
> <BR><FONT SIZE=2>JD</FONT>
> </P>
>
> <P><FONT SIZE=2>Stack trace:</FONT>
> <BR><FONT SIZE=2>13:22:08,797 ERROR [LogInterceptor]
> TransactionRolledbackException, causedBy:</FONT>
> <BR><FONT SIZE=2>java.lang.NullPointerException</FONT>
> <BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
> org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.getApplicationTxDataMap(JDBCStoreManager.java:196)</FONT>
> <BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
> org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.getApplicationTxData(JDBCStoreManager.java:212)</FONT>
> <BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
> org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.getEntityTxDataMap(JDBCStoreManager.java:224)</FONT>
> <BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
> org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.getEntityTxData(JDBCStoreManager.java:233)</FONT>
> <BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
> org.jboss.ejb.plugins.cmp.jdbc.ReadAheadCache.getPreloadDataMap(ReadAheadCache.java:368)</FONT>
> <BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
> org.jboss.ejb.plugins.cmp.jdbc.ReadAheadCache.load(ReadAheadCache.java:204)</FONT>
> <BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
> org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.execute(JDBCLoadEntityCommand.java:76)</FONT>
> <BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
> org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.execute(JDBCLoadEntityCommand.java:62)</FONT>
> <BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
> org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.loadEntity(JDBCStoreManager.java:415)</FONT>
> <BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
> org.jboss.ejb.plugins.CMPPersistenceManager.loadEntity(CMPPersistenceManager.java:388)</FONT>
> <BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
> org.jboss.resource.connectionmanager.CachedConnectionInterceptor.loadEntity(CachedConnectionInterceptor.java:304)</FONT></P>

>
> <P><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
> org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invoke(EntitySynchronizationInterceptor.java:283)</FONT>
> <BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
> org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:147)</FONT></P>

>
> <P><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
> org.jboss.ejb.plugins.EntityInstanceInterceptor.invoke(EntityInstanceInterceptor.java:187)</FONT>
> <BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
> org.jboss.ejb.plugins.EntityLockInterceptor.invoke(EntityLockInterceptor.java:107)</FONT>
> <BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
> org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:96)</FONT>
> <BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
> org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:219)</FONT>
> <BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
> org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:61)</FONT>
> <BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
> org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:127)</FONT>
> <BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
> org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:166)</FONT>
> <BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
> org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:474)</FONT>
> <BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
> org.jboss.ejb.plugins.local.BaseLocalContainerInvoker.invoke(BaseLocalContainerInvoker.java:307)</FONT>
> <BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
> org.jboss.ejb.plugins.local.BaseLocalContainerInvoker$EntityProxy.invoke(BaseLocalContainerInvoker.java:407)</FONT>
> <BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
> $Proxy531.getTaskType(Unknown Source)</FONT>
> <BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
> com.rendition.service.TaskDaemon$TaskRunner.run(TaskDaemon.java:420)</FONT>
> <BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
> java.lang.Thread.run(Thread.java:536)</FONT>
> <BR><FONT SIZE=2>13:22:08,802 ERROR [STDERR]
> javax.ejb.TransactionRolledbackLocalException: Error getting application
> tx data map.</FONT>
> <BR><FONT SIZE=2>Embedded Exception</FONT>
> <BR><FONT SIZE=2>null; nested exception is: </FONT>
> <BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> javax.ejb.EJBException: Error getting application tx data map.</FONT>
> <BR><FONT SIZE=2>Embedded Exception</FONT>
> <BR><FONT SIZE=2>null</FONT>
> <BR><FONT SIZE=2>Embedded Exception</FONT>
> <BR><FONT SIZE=2>Error getting application tx data map.</FONT>
> <BR><FONT SIZE=2>Embedded Exception</FONT>
> <BR><FONT SIZE=2>null; nested exception is: </FONT>
> <BR><FONT SIZE=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> javax.ejb.EJBException: Error getting application tx data map.</FONT>
> <BR><FONT SIZE=2>Embedded Exception</FONT>
> <BR><FONT SIZE=2>null</FONT>
> <BR><FONT SIZE=2>--</FONT>
> </P>
>
> </BODY>
> </HTML>
>

_______________________________________________________________

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to