More info: I've added tags for the entity beans my MDB depends on; JBoss now waits until the required local homes have been bound in JNDI before creating instances of my MDB and processing its queue. However, my MDB still fails, and it's still invoked before it's possible to use the dependant local homes' findByPrimaryKey() method to retrieve a bean instance, as I get an NPE in org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.createBeanClassInstance():
2004-03-24 09:14:00,642 ERROR [Thread Pool Worker-0] org.jboss.logging.Logger.error() - TransactionRolledbackLocalException, causedBy: | java.lang.NullPointerException | at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.createBeanClassInstance(JDBCStoreManager.java:513) | at org.jboss.ejb.plugins.CMPPersistenceManager.createBeanClassInstance(CMPPersistenceManager.java:165) | at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.createBeanClassInstance(CachedConnectionInterceptor.java:251) | at org.jboss.ejb.EntityContainer.createBeanClassInstance(EntityContainer.java:294) | at org.jboss.ejb.plugins.AbstractInstancePool.get(AbstractInstancePool.java:209) | at org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(EntityInstanceInterceptor.java:76) | at org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityLockInterceptor.java:79) | at org.jboss.ejb.plugins.EntityCreationInterceptor.invokeHome(EntityCreationInterceptor.java:44) | at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:111) | at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:178) | at org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:52) | at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.java:105) | at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:129) | at org.jboss.ejb.EntityContainer.invokeHome(EntityContainer.java:487) | at org.jboss.ejb.plugins.local.BaseLocalContainerInvoker.invokeHome(BaseLocalContainerInvoker.java:230) | at org.jboss.ejb.plugins.local.LocalHomeProxy.invoke(LocalHomeProxy.java:110) | at $Proxy107.findByPrimaryKey(Unknown Source) | at com.moso.lis.ejb.message.update.UpdateNotificationMessageDrivenBean.setMessageDrivenContext(UpdateNotificationMessageDrivenBean.java:96) | at org.jboss.ejb.MessageDrivenEnterpriseContext.<init>(MessageDrivenEnterpriseContext.java:61) | at org.jboss.ejb.plugins.MessageDrivenInstancePool.create(MessageDrivenInstancePool.java:62) | at org.jboss.ejb.plugins.AbstractInstancePool.get(AbstractInstancePool.java:209) | at org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenInstanceInterceptor.java:74) | at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:107) | at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:178) | at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:60) | at org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:100) | at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:203) | at org.jboss.ejb.MessageDrivenContainer.invoke(MessageDrivenContainer.java:302) | at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:962) | at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:1038) | at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:238) | at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:603) | at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:417) | at org.jboss.mq.SpySession.run(SpySession.java:259) | at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:177) | at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:642) | at java.lang.Thread.run(Thread.java:534) This is my MDB's config, in jboss.xml: <message-driven> | <ejb-name>UpdateNotificationEJB</ejb-name> | <configuration-name>Singleton Message Driven Bean</configuration-name> | <destination-jndi-name>LISEJBUpdateNotifications</destination-jndi-name> | <mdb-user>UpdateNotificationEJB</mdb-user> | <mdb-passwd></mdb-passwd> | <resource-ref> | <res-ref-name>jms/QueueConnectionFactory</res-ref-name> | <jndi-name>ConnectionFactory</jndi-name> | </resource-ref> | <resource-ref> | <res-ref-name>jms/TopicConnectionFactory</res-ref-name> | <jndi-name>ConnectionFactory</jndi-name> | </resource-ref> | <depends>jboss.j2ee:service=EJB,jndiName=local/IDEJB</depends> | <depends>jboss.j2ee:service=EJB,jndiName=local/UpdateEJB</depends> | </message-driven> I'm currently using JBoss 3.0.2. Again, if the queue is empty at deploy time, any new messages added after deployment of my EAR is complete will be successfully processed. Any help would be much appreciated. Regards, Damian <a href="http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3827159#3827159">View the original post</a> <a href="http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3827159>Reply to the post</a> ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user
