« Return to Thread: JMS exceptions in Mule 2.2.1

JMS exceptions in Mule 2.2.1

by ron.fulkerson :: Rate this Message:

Reply to Author | View in Thread

Hello,

I am using Mule 2.2.1 with ActiveMQ 5.2.0, and getting several JMS exceptions, such as:
Cannot publish to a deleted Destination: temp-topic://ID:magnus-63160-1245885575383-0:4:5

The exceptions appear intermittently, but often enough to easily reproduce.  The problem seems to stem from duplicate messages being received on an inbound endpoint.  These duplicate messages use the same reply-to temporary topic, and my guess is that 1 reply uses the temporary reply topic and then deletes it, leaving the duplicated message without a reply topic.

The core problem of duplicate messages may be related to http://www.mulesource.org/jira/browse/MULE-3823.

I have attached my configuration files.  A message is sent out on ZVCRouter (in transports.xml) and received by ZVCService (in zvcontroller.xml).  The result is then passed back in a request-response manner.  These processes run in separate VM's - with the exceptions seen on the ZVCService side.  Any help would be greatly appreciated.

Thanks,
Ron

<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesource.org/schema/mule/core/2.2"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:spring="http://www.springframework.org/schema/beans"
       xmlns:vm="http://www.mulesource.org/schema/mule/vm/2.2"
       xmlns:jms="http://www.mulesource.org/schema/mule/jms/2.2"
       xsi:schemaLocation="
                        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
                        http://www.mulesource.org/schema/mule/core/2.2 http://www.mulesource.org/schema/mule/core/2.2/mule.xsd
                        http://www.mulesource.org/schema/mule/vm/2.2 http://www.mulesource.org/schema/mule/vm/2.2/mule-vm.xsd
                        http://www.mulesource.org/schema/mule/jms/2.2 http://www.mulesource.org/schema/mule/jms/2.2/mule-jms.xsd">      
       
        <!-- A description of this configuration  -->  
    <description>
        ZViDEO transport and routing definitions.  End points are defined in separate files which extend these definitions.
    </description>

        <!-- Define our connectors -->
    <jms:activemq-connector name="jmsConnector" brokerURL="tcp://localhost:4101" specification="1.1"/>
       
        <!-- Define custom transformers -->
        <custom-transformer name="ExceptionMessageToString" class="com.zvideo.vware.services.mule.transformers.ExceptionMessageToString" />
       
        <!-- Define our end points -->
        <jms:endpoint name="ZVCCommands" topic="zvc.commands" responseTimeout="15000" connector-ref="jmsConnector"/>
        <jms:endpoint name="VXCommands" topic="vx.commands" connector-ref="jmsConnector"/>
        <jms:endpoint name="VACommands" topic="va.commands" connector-ref="jmsConnector"/>
        <vm:endpoint name="ZVCOutgoing" path="zvc.outgoing.localhost"/>
        <vm:endpoint name="VXOutgoing" path="vx.outgoing"/>
        <vm:endpoint name="VAOutgoing" path="va.outgoing"/>

        <!-- Set end points to be synchronous by default -->
        <configuration defaultSynchronousEndpoints="true"/>

        <!-- Define the service model -->
        <model name="ServiceModel">
       
                <service name="VARouter">
                        <inbound>
                                <inbound-endpoint ref="VAOutgoing"/>
                        </inbound>
                        <outbound>
                                <pass-through-router>
                                        <outbound-endpoint ref="VACommands">
                                                <jms:object-to-jmsmessage-transformer/>
                                        </outbound-endpoint>
                                </pass-through-router>
                        </outbound>
                </service>
                <service name="VXRouter">
                        <inbound>
                                <inbound-endpoint ref="VXOutgoing"/>
                        </inbound>
                        <outbound>
                                <pass-through-router>
                                        <outbound-endpoint ref="VXCommands">
                                                <jms:object-to-jmsmessage-transformer/>
                                        </outbound-endpoint>
                                </pass-through-router>
                        </outbound>
                </service>
                <service name="ZVCRouter">
                        <inbound>
                                <inbound-endpoint ref="ZVCOutgoing"/>
                        </inbound>
                        <outbound>
                                <pass-through-router>
                                        <outbound-endpoint ref="ZVCCommands">
                                                <jms:object-to-jmsmessage-transformer/>
                                        </outbound-endpoint>
                                </pass-through-router>
                        </outbound>
                </service>
        </model>
       
</mule>

<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesource.org/schema/mule/core/2.2"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:vm="http://www.mulesource.org/schema/mule/vm/2.2"
       xmlns:jms="http://www.mulesource.org/schema/mule/jms/2.2"
       xsi:schemaLocation="
                        http://www.mulesource.org/schema/mule/core/2.2 http://www.mulesource.org/schema/mule/core/2.2/mule.xsd
                        http://www.mulesource.org/schema/mule/vm/2.2 http://www.mulesource.org/schema/mule/vm/2.2/mule-vm.xsd
                        http://www.mulesource.org/schema/mule/jms/2.2 http://www.mulesource.org/schema/mule/jms/2.2/mule-jms.xsd">                
                 
    <description>
        ZViDEO ZVC service definition
    </description>
       
        <model name="ServiceModel" inherit="true">
                <service name="ZVCService">
                        <inbound>
                                <inbound-endpoint synchronous="true" ref="ZVCCommands">
                                        <jms:jmsmessage-to-object-transformer/>
                                </inbound-endpoint>
                        </inbound>
                        <component class="com.zvideo.vware.services.zvcontroller.ZVCEndpoint" />
                </service>
        </model>
       
</mule>
---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email

 « Return to Thread: JMS exceptions in Mule 2.2.1