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 -> EJB -> MBean -> EJB</FONT> > <BR><FONT SIZE=2> 1 > 2 > 3 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. Is this > not</FONT> > <BR><FONT SIZE=2>the right way to design this? 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> at > >org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.getApplicationTxDataMap(JDBCStoreManager.java:196)</FONT> > <BR><FONT SIZE=2> at > >org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.getApplicationTxData(JDBCStoreManager.java:212)</FONT> > <BR><FONT SIZE=2> at > >org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.getEntityTxDataMap(JDBCStoreManager.java:224)</FONT> > <BR><FONT SIZE=2> at > >org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.getEntityTxData(JDBCStoreManager.java:233)</FONT> > <BR><FONT SIZE=2> at > >org.jboss.ejb.plugins.cmp.jdbc.ReadAheadCache.getPreloadDataMap(ReadAheadCache.java:368)</FONT> > <BR><FONT SIZE=2> at > org.jboss.ejb.plugins.cmp.jdbc.ReadAheadCache.load(ReadAheadCache.java:204)</FONT> > <BR><FONT SIZE=2> at > >org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.execute(JDBCLoadEntityCommand.java:76)</FONT> > <BR><FONT SIZE=2> at > >org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.execute(JDBCLoadEntityCommand.java:62)</FONT> > <BR><FONT SIZE=2> at > >org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.loadEntity(JDBCStoreManager.java:415)</FONT> > <BR><FONT SIZE=2> at > >org.jboss.ejb.plugins.CMPPersistenceManager.loadEntity(CMPPersistenceManager.java:388)</FONT> > <BR><FONT SIZE=2> at > >org.jboss.resource.connectionmanager.CachedConnectionInterceptor.loadEntity(CachedConnectionInterceptor.java:304)</FONT></P> > > <P><FONT SIZE=2> at > >org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invoke(EntitySynchronizationInterceptor.java:283)</FONT> > <BR><FONT SIZE=2> at > >org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:147)</FONT></P> > > <P><FONT SIZE=2> at > >org.jboss.ejb.plugins.EntityInstanceInterceptor.invoke(EntityInstanceInterceptor.java:187)</FONT> > <BR><FONT SIZE=2> at > >org.jboss.ejb.plugins.EntityLockInterceptor.invoke(EntityLockInterceptor.java:107)</FONT> > <BR><FONT SIZE=2> at > >org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:96)</FONT> > <BR><FONT SIZE=2> at > >org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:219)</FONT> > <BR><FONT SIZE=2> at > org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:61)</FONT> > <BR><FONT SIZE=2> at > org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:127)</FONT> > <BR><FONT SIZE=2> at > org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:166)</FONT> > <BR><FONT SIZE=2> at > org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:474)</FONT> > <BR><FONT SIZE=2> at > >org.jboss.ejb.plugins.local.BaseLocalContainerInvoker.invoke(BaseLocalContainerInvoker.java:307)</FONT> > <BR><FONT SIZE=2> at > >org.jboss.ejb.plugins.local.BaseLocalContainerInvoker$EntityProxy.invoke(BaseLocalContainerInvoker.java:407)</FONT> > <BR><FONT SIZE=2> at > $Proxy531.getTaskType(Unknown Source)</FONT> > <BR><FONT SIZE=2> at > com.rendition.service.TaskDaemon$TaskRunner.run(TaskDaemon.java:420)</FONT> > <BR><FONT SIZE=2> 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> > 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> > 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
