Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7904035
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 3, 20262026-06-03T09:53:32+00:00 2026-06-03T09:53:32+00:00

We are trying to build simple transacted jms-to-jms router using Mule ESB and JBoss

  • 0

We are trying to build simple transacted jms-to-jms router using Mule ESB and JBoss Messaging. When we run Mule ESB with application configured as below, we observe strange behaviour.

  1. Approximately 10 messages are routed from queue test1 to test2
  2. Nothing happens for ~40 seconds.
  3. goto 1

Queue test1 is filled with around 500 messages when we start test. We use Mule 3.2 and JBoss 5.1.

If I remove transactions from code below everything works fine, all messages are sent to queue test2 instantly. Also, everything is fine if I change transactions from xa to jms — by replacing xa-transaction tags with jms:transaction.

I don’t know what causes this pause in message processing on ESB, probably transaction commit is delayed.

My question is: what should I do to have xa transactions working correctly?

I’ll provide more details if needed. I asked this question on Mule ESB forum before with no answer http://forum.mulesoft.org/mulesoft/topics/transaction_commit_delay_when_routing_message_from_one_jms_queue_to_another

<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:jms="http://www.mulesoft.org/schema/mule/jms" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:spring="http://www.springframework.org/schema/beans" xmlns:core="http://www.mulesoft.org/schema/mule/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jbossts="http://www.mulesoft.org/schema/mule/jbossts" version="CE-3.2.1" xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/jms http://www.mulesoft.org/schema/mule/jms/current/mule-jms.xsd 
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd 
http://www.mulesoft.org/schema/mule/jbossts http://www.mulesoft.org/schema/mule/jbossts/current/mule-jbossts.xsd ">
    <jbossts:transaction-manager> </jbossts:transaction-manager>
    <configuration>  
        <default-threading-profile maxThreadsActive="30" maxThreadsIdle="5"/>  
        <default-receiver-threading-profile maxThreadsActive="10" maxThreadsIdle="5"/> 
    </configuration>
    <spring:beans>
        <spring:bean id="jmsJndiTemplate" class="org.springframework.jndi.JndiTemplate" doc:name="Bean">
            <spring:property name="environment">
                <spring:props>
                    <spring:prop key="java.naming.factory.url.pkgs">org.jboss.naming:org.jnp.interfaces</spring:prop>
                    <spring:prop key="jnp.disableDiscovery">true</spring:prop>
                    <spring:prop key="java.naming.factory.initial">org.jnp.interfaces.NamingContextFactory</spring:prop>
                    <spring:prop key="java.naming.provider.url">localhost:1099</spring:prop>
                </spring:props>
            </spring:property>
        </spring:bean>
        <spring:bean id="jmsConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean" doc:name="Bean">
            <spring:property name="jndiTemplate">
                <spring:ref bean="jmsJndiTemplate"/>
            </spring:property>
            <spring:property name="jndiName">
                <spring:value>XAConnectionFactory</spring:value>
            </spring:property>
        </spring:bean>
    </spring:beans>
    <jms:connector name="JMS" specification="1.1" numberOfConsumers="10" connectionFactory-ref="jmsConnectionFactory" doc:name="JMS"/>
    <flow name="flow" doc:name="flow">
        <jms:inbound-endpoint queue="test1" connector-ref="JMS" doc:name="qt1">
            <xa-transaction action="ALWAYS_BEGIN"/>
        </jms:inbound-endpoint>
        <echo-component doc:name="Echo"/>
        <jms:outbound-endpoint queue="test2" connector-ref="JMS" doc:name="qt2">
            <xa-transaction action="ALWAYS_JOIN"/>
        </jms:outbound-endpoint>
        <echo-component doc:name="Echo"/>
    </flow>
</mule>

Here you can find log fragment for 1 message interaction. Please note that in this case there was no delay.
And here is log fragment for 11 messages. All of them were in queue test1 when app started, as you can see 10 messages are routed instantly and one is delayed by 1 minute.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-03T09:53:37+00:00Added an answer on June 3, 2026 at 9:53 am

    I’ve found root of my problem: my queues were defined with following attribute:

       <attribute name="RedeliveryDelay">60000</attribute>
    

    Removing it or setting low value solves my problem with delays. Problem is, I don’t know why 🙂

    I always thought that redelivery delay is used when delivery fails, which was not the case in my app.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm trying to build a simple Android application using NDK. Here are the contents
I'm trying to build a simple web application using Node.js and CouchDb. The application
I'm trying to build a simple SIP application using JAIN SIP 1.2 and the
I'm trying to build a simple HTML text editor in a Windows Form application.
Im trying to build a simple, lightweight product viewer using jquery. I have a
Im trying to build a simple XML to Controls parser in my CF application.
I am trying to build a simple search-engine using HtmlAgilityPack and Xpath with C#
I'm trying to build a simple application, with the finished program looking like this
I'm trying to build a simple Silverlight 3 MediaPlayer using the MediaElement tag: <Border
I'm trying to build a simple application to download and play a music file.

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.