[jboss-user] [Beginners Corner] - Re: MDB cannot be created when running in

jaikiran do-not-reply at jboss.com
Thu Aug 28 08:00:43 EDT 2008


I just tried a similar thing on my setups. I created a MDB pointing to a non-existent queue (queue/ABC) and placed that EAR file in the farm folder of "all".
@MessageDriven(activationConfig =
  | {
  | @ActivationConfigProperty(propertyName="destinationType",
  | propertyValue="javax.jms.Queue"),
  | @ActivationConfigProperty(propertyName="destination",
  | propertyValue="queue/ABC")
  | })
  | public class MyMDB implements MessageListener {
  | 

 The queue was non-existent so it created a temporary queue:

  | 2008-08-28 16:46:11,191 DEBUG [org.jboss.system.ServiceController] starting service jboss.j2ee:ear=EJB3Persistence.ear,jar=myapp_ejb3.jar,name=MyMDB,service=EJB3
  | 2008-08-28 16:46:11,191 DEBUG [org.jboss.ejb3.mdb.MdbDelegateWrapper] Starting jboss.j2ee:ear=EJB3Persistence.ear,jar=myapp_ejb3.jar,name=MyMDB,service=EJB3
  | 2008-08-28 16:46:11,222 DEBUG [org.jboss.ejb3.tx.UserTransactionImpl] new UserTx: org.jboss.ejb3.tx.UserTransactionImpl at 1eb424b
  | 2008-08-28 16:46:11,238 DEBUG [org.jboss.ejb3.interceptor.EJB3InterceptorsFactory] Bound interceptors for joinpoint: public void org.myapp.ejb.impl.MyMDB.onMessage(javax.jms.Message) - [Lorg.jboss.ejb3.interceptor.InterceptorInfo;@e26ae7
  | 2008-08-28 16:46:11,238 INFO  [org.jboss.ejb3.EJBContainer] STARTED EJB: org.myapp.ejb.impl.MyMDB ejbName: MyMDB
  | 2008-08-28 16:46:11,254 DEBUG [org.jboss.ejb3.mdb.MessagingContainer] Initializing
  | 2008-08-28 16:46:11,254 DEBUG [org.jboss.ejb3.mdb.MessagingContainer] Looking up provider adapter: java:/DefaultJMSProvider
  | 2008-08-28 16:46:11,254 DEBUG [org.jboss.ejb3.mdb.MessagingContainer] Provider adapter: org.jboss.jms.jndi.JNDIProviderAdapter at 1cbc39b
  | 2008-08-28 16:46:11,254 DEBUG [org.jboss.ejb3.mdb.MessagingContainer] context: javax.naming.InitialContext at 1059849
  | 2008-08-28 16:46:11,254 DEBUG [org.jboss.ejb3.mdb.MessagingContainer] Got destination type Queue for MyMDB
  | 2008-08-28 16:46:11,254 DEBUG [org.jboss.ejb3.mdb.MessagingContainer] jndiSuffix: ABC
  | 2008-08-28 16:46:11,332 WARN  [org.jboss.ejb3.mdb.MessagingContainer] Could not find the queue destination-jndi-name=queue/ABC
  | 2008-08-28 16:46:11,332 WARN  [org.jboss.ejb3.mdb.MessagingContainer] destination not found: queue/ABC reason: javax.naming.NameNotFoundException: queue/ABC
  | 2008-08-28 16:46:11,332 WARN  [org.jboss.ejb3.mdb.MessagingContainer] creating a new temporary destination: queue/ABC
  | 2008-08-28 16:46:11,347 DEBUG [org.jboss.mq.server.jmx.DestinationManager] Attempting to create destination: jboss.mq.destination:service=Queue,name=ABC; type=org.jboss.mq.server.jmx.Queue
  | 2008-08-28 16:46:11,347 DEBUG [org.jboss.system.ServiceController] Creating service jboss.mq.destination:service=Queue,name=ABC
  | 2008-08-28 16:46:11,347 DEBUG [org.jboss.system.ServiceController] adding depends in ServiceController.register: [jboss.mq:service=DestinationManager]
  | 2008-08-28 16:46:11,347 DEBUG [org.jboss.system.ServiceController] recording that jboss.mq.destination:service=Queue,name=ABC depends on jboss.mq:service=DestinationManager
  | 2008-08-28 16:46:11,347 DEBUG [org.jboss.mq.server.jmx.Queue.ABC] Creating jboss.mq.destination:service=Queue,name=ABC
  | 2008-08-28 16:46:11,347 DEBUG [org.jboss.mq.server.jmx.Queue.ABC] Created jboss.mq.destination:service=Queue,name=ABC
  | 2008-08-28 16:46:11,347 DEBUG [org.jboss.system.ServiceController] Creating dependent components for: jboss.mq.destination:service=Queue,name=ABC dependents are: []
  | 2008-08-28 16:46:11,347 DEBUG [org.jboss.system.ServiceController] starting service jboss.mq.destination:service=Queue,name=ABC
  | 2008-08-28 16:46:11,347 DEBUG [org.jboss.mq.server.jmx.Queue.ABC] Starting jboss.mq.destination:service=Queue,name=ABC
  | 2008-08-28 16:46:11,347 DEBUG [org.jboss.mq.pm.jdbc2.PersistenceManager] Restored 0 message(s) to: QUEUE.ABC 0 need recovery.
  | 2008-08-28 16:46:11,347 INFO  [org.jboss.mq.server.jmx.Queue.ABC] Bound to JNDI name: queue/ABC
  | 

Then i started another node in the cluster and the EAR was picked up by the farm service. When the MDB was being deployed, the queue was not created again because the node found it already existing in the cluster:

2008-08-28 16:48:40,177 DEBUG [org.jboss.ejb3.mdb.MdbDelegateWrapper] Creating jboss.j2ee:ear=EJB3Persistence.ear,jar=myapp_ejb3.jar,name=MyMDB,service=EJB3
  | 2008-08-28 16:48:40,177 DEBUG [org.jboss.ejb3.mdb.MdbDelegateWrapper] Created jboss.j2ee:ear=EJB3Persistence.ear,jar=myapp_ejb3.jar,name=MyMDB,service=EJB3
  | 2008-08-28 16:48:40,193 DEBUG [org.jboss.system.ServiceController] Creating dependent components for: jboss.j2ee:ear=EJB3Persistence.ear,jar=myapp_ejb3.jar,name=MyMDB,service=EJB3 dependents are: []
  | 2008-08-28 16:48:40,193 DEBUG [org.jboss.system.ServiceController] starting service jboss.j2ee:ear=EJB3Persistence.ear,jar=myapp_ejb3.jar,name=MyMDB,service=EJB3
  | 2008-08-28 16:48:40,193 DEBUG [org.jboss.ejb3.mdb.MdbDelegateWrapper] Starting jboss.j2ee:ear=EJB3Persistence.ear,jar=myapp_ejb3.jar,name=MyMDB,service=EJB3
  | 2008-08-28 16:48:40,209 DEBUG [org.jboss.ejb3.tx.UserTransactionImpl] new UserTx: org.jboss.ejb3.tx.UserTransactionImpl at 5ec940
  | 2008-08-28 16:48:40,224 DEBUG [org.jboss.ejb3.interceptor.EJB3InterceptorsFactory] Bound interceptors for joinpoint: public void org.myapp.ejb.impl.MyMDB.onMessage(javax.jms.Message) - [Lorg.jboss.ejb3.interceptor.InterceptorInfo;@d16610
  | 2008-08-28 16:48:40,224 INFO  [org.jboss.ejb3.EJBContainer] STARTED EJB: org.myapp.ejb.impl.MyMDB ejbName: MyMDB
  | 2008-08-28 16:48:40,240 DEBUG [org.jboss.ejb3.mdb.MessagingContainer] Initializing
  | 2008-08-28 16:48:40,240 DEBUG [org.jboss.ejb3.mdb.MessagingContainer] Looking up provider adapter: java:/DefaultJMSProvider
  | 2008-08-28 16:48:40,240 DEBUG [org.jboss.ejb3.mdb.MessagingContainer] Provider adapter: org.jboss.jms.jndi.JNDIProviderAdapter at 1d29ee4
  | 2008-08-28 16:48:40,240 DEBUG [org.jboss.ejb3.mdb.MessagingContainer] context: javax.naming.InitialContext at 1945696
  | 2008-08-28 16:48:40,240 DEBUG [org.jboss.ejb3.mdb.MessagingContainer] Got destination type Queue for MyMDB
  | 2008-08-28 16:48:40,240 DEBUG [org.jboss.ejb3.mdb.MessagingContainer] jndiSuffix: ABC
  | 2008-08-28 16:48:40,302 DEBUG [org.jboss.mq.referenceable.SpyDestinationObjectFactory] SpyDestinationObjectFactory->getObjectInstance()
  | 2008-08-28 16:48:40,302 DEBUG [org.jboss.ejb3.mdb.MessagingContainer] Initialized with config org.jboss.ejb3.mdb.MDB at 114a707
  |  

The MDB was deployed properly. 

I even tried removing the deployments from the farm folder and placing them in the "deploy" folder of the individual nodes. Even that worked without any errors.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4173029#4173029

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4173029



More information about the jboss-user mailing list