camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mick Knutson (JIRA)" <j...@apache.org>
Subject [jira] Created: (CAMEL-1906) Camel not routing to VirtualTopics with embedded ActiveMQ Broker
Date Wed, 12 Aug 2009 12:27:35 GMT
Camel not routing to VirtualTopics with embedded ActiveMQ Broker
----------------------------------------------------------------

                 Key: CAMEL-1906
                 URL: https://issues.apache.org/activemq/browse/CAMEL-1906
             Project: Apache Camel
          Issue Type: Bug
          Components: camel-activemq
    Affects Versions: 2.0-M3
         Environment: Mac OS X and Windows XP SP2
            Reporter: Mick Knutson


I am trying to send a Text Message to a VirtualTopic that should get forwarded to a Durable
Queue for all the given Subscribers.


I tried what was suggested with this Broker.xml:


<broker xmlns="http://activemq.apache.org/schema/core">
    <transportConnectors>
        <transportConnector name="tcp" uri="tcp://localhost:61616" />
    </transportConnectors>

    <destinationInterceptors>
        <virtualDestinationInterceptor>
            <virtualDestinations>
                <compositeTopic name="VirtualTopic.TEST">
                    <forwardTo>
                        <topic physicalName="Consumer.A.VirtualTopic.TEST" />

                    </forwardTo>
                </compositeTopic>
            </virtualDestinations>
        </virtualDestinationInterceptor>
    </destinationInterceptors>

</broker>
 
The above broker.xml appears to only be forwarding from one topic to another. Not actually
creating durable Queue's for the Consumer I have connected.

And then I was sending messages to both the Topic, and the resulting queue to determine what
was getting through:

        //Send message to
        producer.sendBody(body+"XXXXXXXXXXXXXXX"+body);
        producer.sendBodyAndHeader("activemq:VirtualTopic.TEST", body+body+body, "foo", "bar");

        producer.sendBodyAndHeader("activemq:Consumer.A.VirtualTopic.TEST", body+"OOOOOOOOOOOO"+body,
"foo", "bar"); //<-- This one works...



But only the last message arrives at my MDP which is the one directly to the Consumer itself.
The 1st 2 did not arrive as expected:

[myproject] INFO [org.springframework.jms.listener.DefaultMessageListenerContainer#0-1] StatusUpdateService.onMessage(22)
| //-----------------------------
------------------------------//
ActiveMQTextMessage {commandId = 5, responseRequired = true, messageId = ID:L83601HY-3296-1250007358494-2:4:1:1:1,
originalDestination = null, originalTran
sactionId = null, producerId = ID:L83601HY-3296-1250007358494-2:4:1:1, destination = queue://Consumer.A.VirtualTopic.TEST,
transactionId = null, expiration
 = 0, timestamp = 1250007383823, arrival = 0, brokerInTime = 1250007383823, brokerOutTime
= 1250007383823, correlationId = null, replyTo = null, persistent
 = true, type = null, priority = 4, groupID = null, groupSequence = 0, targetConsumerId =
null, compressed = false, userID = null, content = null, marshall
edProperties = org.apache.activemq.util.ByteSequence@16d3536, dataStructure = null, redeliveryCounter
= 0, size = 0, properties = {foo=bar}, readOnlyProper
ties = true, readOnlyBody = true, droppable = false, text = 33OOOOOOOOOOOO33}


I actually zipped up the source here:
http://baselogic.com/temp/services.zip

It should run on its own if you want to see my issue. I cd into the table-service-su DIR and
run:
mvn camel:run -e in one cmd prompt.

Then in another one, I run mvn verify -e to run the unit tests.



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message