activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Eibwen <>
Subject VirtualDestinations FilteredDestination Forward some leave others
Date Tue, 30 Nov 2010 00:26:11 GMT

Here is what i would like to do, but it does not work.  Is there any way to
accomplish this?

1. A mirror queue that would get a copy of every message that comes in
 --The mirror topic isn't needed by my program if i can get a mirrored queue
2. Move messages to a different queue if they match certain selectors
3. Leave any messages that don't match in the queue

Here is as close as I've gotten so far:

  <!-- Setup mirror topic for each Queue, copying the messages there -->
  <mirroredQueue copyMessage="true" postfix=".qmirror" prefix=""/>
      <compositeTopic name="DataQueue.qmirror" forwardOnly="false">
          <!-- Forward a copy of all messages to a Monitor queue so we can
more easily detect any errors -->
          <queue physicalName="DataMonitor" />
      <compositeQueue name="DataQueue">
          <!-- Move (not copy) some types to their own queues -->
          <filteredDestination selector="TypeID = 6"
          <filteredDestination selector="TypeID = 7"
	  <!-- WANT to leave all others in this queue -->

1. Works (directs to the Topic mirror, then catches that and puts a copy
into the QueueMirror)
2. Works: Moves a copy into the special Queues
3. Fails: ignores any messages that don't match the selectors

[When forwardOnly="false" is on the compositeQueue]
2. Fails: it puts a copy there and leaves a copy
3. Works

Is this the sort of thing that Camel is for?  I haven't really looked into
How would that effect performance?

View this message in context:
Sent from the ActiveMQ - User mailing list archive at

View raw message