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

Reply via email to