[jboss-jira] [JBoss JIRA] Issue Comment Edited: (JBAS-8778) Problem with deployment order of EAR and JMS queues

Ales Justin (JIRA) jira-events at lists.jboss.org
Tue Dec 28 15:02:19 EST 2010


    [ https://issues.jboss.org/browse/JBAS-8778?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12572428#comment-12572428 ] 

Ales Justin edited comment on JBAS-8778 at 12/28/10 3:00 PM:
-------------------------------------------------------------

I've added (should be already part of trunk/6.0.0.Final)      legacyOrder.put("-jms.xml", 350); to LegacyDeploymentContextComparator which is used in deployers.xml.
This should order any *-jms.xml file before any .ear.
Can you somehow debug if this is true?

My guess is that HornetQ creates MC beans out of these -jms.xml files,
and so does EJBs for those MDBs,
but since there is no explicit dependency, the order is random.

Perhaps you can use jboss-dependency.xml file to explicitly set dependency from your deployment to your queue.
See http://community.jboss.org/wiki/JBoss5custommetadatafiles for more details on this jboss-dependency.xml file usage.


      was (Author: alesj):
    I've added       legacyOrder.put("-jms.xml", 350); to LegacyDeploymentContextComparator which is used in dpeloyers.xml.
This should order any *-jms.xml file before any .ear.
Can you somehow debug if this is true?

My guess is that HornetQ creates MC beans out of these -jms.xml files,
and so does EJBs for those MDBs,
but since there is no explicit dependency, the order is random.

Perhaps you can use jboss-dependency.xml file to explicitly set dependency from your deployment to your queue.
See http://community.jboss.org/wiki/JBoss5custommetadatafiles for more details on this jboss-dependency.xml file usage.

  
> Problem with deployment order of EAR and JMS queues
> ---------------------------------------------------
>
>                 Key: JBAS-8778
>                 URL: https://issues.jboss.org/browse/JBAS-8778
>             Project: JBoss Application Server
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Deployers, JMS (HornetQ)
>    Affects Versions: 6.0.0.Final
>            Reporter: Frank Langelage
>            Assignee: Ales Justin
>
> Our application deployed as one EAR file contains two MDB.
> The queues are defined in $JBOSS_HOME/deploy/hornetq/mbi2e-lafr-sb2000-ipc-hornetq-jms.xml:
> <?xml version="1.0" encoding="UTF-8"?>
> <configuration xmlns="urn:hornetq"
>         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>         xsi:schemaLocation="urn:hornetq /schema/hornetq-jms.xsd">
>   <queue name="mbi2e-lafr-sb2000-ipc/MessageDistributorQueue">
>     <entry name="queue/mbi2e-lafr-sb2000-ipc/MessageDistributorQueue"/>
>   </queue>
>   <queue name="mbi2e-lafr-sb2000-ipc/SalesOrderImportQueue">
>     <entry name="queue/mbi2e-lafr-sb2000-ipc/SalesOrderImportQueue"/>
>   </queue>
> </configuration>
> If I first startup JBossAS, already including the queue definitions shown above, and then deploy my ear file everything is fine. No Errors.
> But if I bounce and restart the engine after that, with everything deployed, I get Warnings and Errors.
> Right after the start of the MDB listening on the 'MessageDistributorQueue' I get this:
> 11:48:58,754 WARN  [HornetQActivation] Failure in HornetQ activation org.hornetq.ra.inflow.HornetQActivationSpec(ra=org.hornetq.ra.HornetQResourceAdapter at 1fe97f9 destination=queue/mbi2e-lafr-sb2000-ipc/MessageDistributorQueue destinationType=javax.jms.Queue ack=Auto-acknowledge durable=false clientID=null user=null maxSession=15): HornetQException[errorCode=105 message=Unable to validate user: null for check type CONSUME for address jms.queue.mbi2e-lafr-sb2000-ipc/MessageDistributorQueue]
>     at org.hornetq.core.protocol.core.impl.ChannelImpl.sendBlocking(ChannelImpl.java:287) [:]
>     at org.hornetq.core.client.impl.ClientSessionImpl.internalCreateConsumer(ClientSessionImpl.java:1556) [:]
>     at org.hornetq.core.client.impl.ClientSessionImpl.createConsumer(ClientSessionImpl.java:447) [:]
>     at org.hornetq.core.client.impl.ClientSessionImpl.createConsumer(ClientSessionImpl.java:392) [:]
>     at org.hornetq.core.client.impl.DelegatingSession.createConsumer(DelegatingSession.java:201) [:]
>     at org.hornetq.ra.inflow.HornetQMessageHandler.setup(HornetQMessageHandler.java:165) [:]
>     at org.hornetq.ra.inflow.HornetQActivation.setup(HornetQActivation.java:291) [:]
>     at org.hornetq.ra.inflow.HornetQActivation$SetupActivation.run(HornetQActivation.java:573) [:]
>     at org.jboss.resource.work.WorkWrapper.run(WorkWrapper.java:172) [:6.0.1-SNAPSHOT]
>     at org.jboss.threads.SimpleDirectExecutor.execute(SimpleDirectExecutor.java:33) [:2.0.0.CR7]
>     at org.jboss.threads.QueueExecutor.runTask(QueueExecutor.java:801) [:2.0.0.CR7]
>     at org.jboss.threads.QueueExecutor.access$100(QueueExecutor.java:45) [:2.0.0.CR7]
>     at org.jboss.threads.QueueExecutor$Worker.run(QueueExecutor.java:821) [:2.0.0.CR7]
>     at java.lang.Thread.run(Thread.java:662) [:1.6.0_23]
>     at org.jboss.threads.JBossThread.run(JBossThread.java:122) [:2.0.0.CR7]
> And then a few more times during the further startup process I see this:
> 11:49:00,759 INFO  [HornetQActivation] Attempting to reconnect org.hornetq.ra.inflow.HornetQActivationSpec(ra=org.hornetq.ra.HornetQResourceAdapter at 1fe97f9 destination=queue/mbi2e-lafr-sb2000-ipc/MessageDistributorQueue destinationType=javax.jms.Queue ack=Auto-acknowledge durable=false clientID=null user=null maxSession=15)
> 11:49:00,998 ERROR [HornetQActivation] Unable to reconnect org.hornetq.ra.inflow.HornetQActivationSpec(ra=org.hornetq.ra.HornetQResourceAdapter at 1fe97f9 destination=queue/mbi2e-lafr-sb2000-ipc/MessageDistributorQueue destinationType=javax.jms.Queue ack=Auto-acknowledge durable=false clientID=null user=null maxSession=15): HornetQException[errorCode=105 message=Unable to validate user: null for check type CONSUME for address jms.queue.mbi2e-lafr-sb2000-ipc/MessageDistributorQueue]
>     at org.hornetq.core.protocol.core.impl.ChannelImpl.sendBlocking(ChannelImpl.java:287) [:]
>     at org.hornetq.core.client.impl.ClientSessionImpl.internalCreateConsumer(ClientSessionImpl.java:1556) [:]
>     at org.hornetq.core.client.impl.ClientSessionImpl.createConsumer(ClientSessionImpl.java:447) [:]
>     at org.hornetq.core.client.impl.ClientSessionImpl.createConsumer(ClientSessionImpl.java:392) [:]
>     at org.hornetq.core.client.impl.DelegatingSession.createConsumer(DelegatingSession.java:201) [:]
>     at org.hornetq.ra.inflow.HornetQMessageHandler.setup(HornetQMessageHandler.java:165) [:]
>     at org.hornetq.ra.inflow.HornetQActivation.setup(HornetQActivation.java:291) [:]
>     at org.hornetq.ra.inflow.HornetQActivation.handleFailure(HornetQActivation.java:539) [:]
>     at org.hornetq.ra.inflow.HornetQActivation$SetupActivation.run(HornetQActivation.java:577) [:]
>     at org.jboss.resource.work.WorkWrapper.run(WorkWrapper.java:172) [:6.0.1-SNAPSHOT]
>     at org.jboss.threads.SimpleDirectExecutor.execute(SimpleDirectExecutor.java:33) [:2.0.0.CR7]
>     at org.jboss.threads.QueueExecutor.runTask(QueueExecutor.java:801) [:2.0.0.CR7]
>     at org.jboss.threads.QueueExecutor.access$100(QueueExecutor.java:45) [:2.0.0.CR7]
>     at org.jboss.threads.QueueExecutor$Worker.run(QueueExecutor.java:821) [:2.0.0.CR7]
>     at java.lang.Thread.run(Thread.java:662) [:1.6.0_23]
>     at org.jboss.threads.JBossThread.run(JBossThread.java:122) [:2.0.0.CR7]
> At the very end of the startup process connect succeeds:
> 2010-12-28 11:49:09,133 INFO  [org.hornetq.ra.inflow.HornetQActivation.info] (pool-1-thread-2) Attempting to reconnect org.hornetq.ra.inflow.HornetQActivationSpec(ra=org.hornetq.ra.HornetQResourceAdapter at 1fe97f9 destination=queue/mbi2e-lafr-sb2000-ipc/SalesOrderImportQueue destinationType=javax.jms.Queue ack=Auto-acknowledge durable=false clientID=null user=null maxSession=15)
> 2010-12-28 11:49:09,156 INFO  [org.hornetq.ra.inflow.HornetQActivation.info] (pool-1-thread-1) Attempting to reconnect org.hornetq.ra.inflow.HornetQActivationSpec(ra=org.hornetq.ra.HornetQResourceAdapter at 1fe97f9 destination=queue/mbi2e-lafr-sb2000-ipc/MessageDistributorQueue destinationType=javax.jms.Queue ack=Auto-acknowledge durable=false clientID=null user=null maxSession=15)
> 2010-12-28 11:49:09,236 INFO  [org.apache.coyote.http11.Http11Protocol.start] (Thread-2) Starting Coyote HTTP/1.1 on http-0.0.0.0-8080
> 2010-12-28 11:49:09,241 INFO  [org.apache.coyote.http11.Http11Protocol.start] (Thread-2) Starting Coyote HTTP/1.1 on http-0.0.0.0-8443
> 2010-12-28 11:49:09,243 INFO  [org.jboss.bootstrap.impl.base.server.AbstractServer.run] (Thread-2) JBossAS [6.0.1.SNAPSHOT "Neo"] Started in 3m:57s:688ms
> 2010-12-28 11:49:09,259 INFO  [org.hornetq.ra.inflow.HornetQActivation.info] (pool-1-thread-1) Reconnected with HornetQ
> 2010-12-28 11:49:09,292 INFO  [org.hornetq.ra.inflow.HornetQActivation.info] (pool-1-thread-2) Reconnected with HornetQ

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jboss-jira mailing list