[ 
https://issues.apache.org/jira/browse/AMQ-5575?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14324180#comment-14324180
 ] 

Bernhard Trummer commented on AMQ-5575:
---------------------------------------

Bug is reproducable when the MDB:
- has the @TransactionAttribute annotation set to 
TransactionAttributeType.REQUIRED.
- uses the mapped XAConnectionFactory as connectionFactoryJndiName 
@ActivationConfigProperty.

However, the bug does not occur when the MDB is non-XA:
- has the @TransactionAttribute annotation set to 
TransactionAttributeType.NOT_SUPPORTED.
- uses the mapped ConnectionFactory as connectionFactoryJndiName 
@ActivationConfigProperty.


> Stuck message in ActiveMQ after WebLogic (incl. MDB) startup
> ------------------------------------------------------------
>
>                 Key: AMQ-5575
>                 URL: https://issues.apache.org/jira/browse/AMQ-5575
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.8.0, 5.10.0, 5.11.0
>         Environment: Linux (Debian squeeze)
> WebLogic Server 10.3.6.0 with a "Foreign Server" JMS module pointing to 
> ActiveMQ.
> WebLogic and ActiveMQ running locally.
>            Reporter: Bernhard Trummer
>
> The setup:
> - ActiveMQ with the default configuration providing one queue.
> - WebLogic server having
>   - a "Foreign Server" JMS module configured pointing to the ActiveMQ's queue
>   - a simple EJB3 MDB hooked up to this queue via XAConnectionFactory.
> The issue is always reproducable as follows:
> 1. Shut down WebLogic
> 2. Start up ActiveMQ
> 3. Put a message (M1) into ActiveMQ's queue (e.g. via web frontend)
> 4. Start up WebLogic (including the simple EJB3 MDB deployment)
> 5. You'll see that the message M1 is consumed. The MDB logs it and the 
> message vanishes from the ActiveMQ web frontend => OK
> 6. Put another message (M2) into ActiveMQ's queue.
> 7. Put a third message (M3) into ActiveMQ's queue.
> Expected behavior:
> M2 and M3 are consumed by the MDB on WebLogic.
> Actual behavior:
> M2 is getting "stuck".
> M3 is consumed correctly.
> The next 15 messages you add to the ActiveMQ queue are consumed correctly.
> The next message (MX) leads to a consumption of the previously stuck message 
> (M2) and the current message (MX).
> After that, the behavior repeats with scenario step 6 above.
> Some further notes:
> 1. Why 15/16 messages until the stuck message is consumed? Because ActiveMQ 
> shows 16 listeners when WebLogic is started up.
> 2. I can reproduce the issue every time.
> 3. It occurs with version 5.8.0, 5.10.0 and 5.11.0 of activemq (of course 
> also using the matching activemq-client jar in WebLogic).
> 4. If you leave out step 3 of the scenario (means: ensure that ActiveMQ's 
> queue is empty before WebLogic is started up), then everything is fine and no 
> message is getting stuck.
> 5. Good news is, that no message is getting lost without being consumed. But 
> it's still quite annoying in my current integration project I'm working on. 
> :-)
> Currently I'm trying to add trace logging into the activemq-client to get a 
> better idea on what's going on. What I can tell so far is, that the message 
> M2 is indeed received by the client and enqueued into a 
> SimplePriorityMessageDispatchChannel instance correctly. But it looks like 
> that the dequeue() call is done on a different instance in this scenario.
> Further I see, that some kind of "round robin" happens in the usage of these 
> Channel instances and that might be the reason, why M2 is eventually consumed 
> together with the 16th next message.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to