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@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@1cbc39b
| 2008-08-28 16:46:11,254 DEBUG [org.jboss.ejb3.mdb.MessagingContainer] context:
javax.naming.InitialContext@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@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@1d29ee4
| 2008-08-28 16:48:40,240 DEBUG [org.jboss.ejb3.mdb.MessagingContainer] context:
javax.naming.InitialContext@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@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#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...