On Sun, Jul 17, 2011 at 7:38 PM, David Karlsen <davidkarl...@gmail.com> wrote:
> Maybe better to provide a replyto resolver strategyinterface with a few
> implementations for vinning cases?

That could be a good idea, lets see how this goes.


> Den 12. juli 2011 07:26 skrev "Claus Ibsen" <claus.ib...@gmail.com>
> følgende:
>>
>> On Mon, Jul 11, 2011 at 10:12 PM, Jim Newsham <jnews...@referentia.com>
> wrote:
>> >
>> > Hi Claus,
>> >
>> > Thanks for opening the jira issue, and for your comments.  To answer
> your
>> > questions:
>> >
>> > 1.  We use fixed reply-to queues which are exclusive to Camel.
>> > 2.  We need a fixed reply-to queue to avoid losing reply messages in
> case of
>> > disconnection (which would happen with temporary queues because they are
>> > scoped to the lifetime of the connection).
>> >
>>
>> I think we should add an option to the JMS component so you can
>> configure that the replyTo is to be consider as exclusive.
>>
>> ?replyTo=bar&exclusiveReplyTo=true
>>
>> Something like this. Anyone got a better idea for a name of the option?
>>
>> Likewise I have pondered about if we should add an option to have
>> convention over configuration? So for example you can configure on the
>> jms component, a pattern of the reply to names.
>>
>> jmsComponent.setExclusiveReplyTo(true);
>> jmsComponent.setReplyToPattern("${name}.reply");
>>
>> So in this example Camel will automatic name the reply to queues, as
>> the request queue name + ".reply". So in the example above we can do
>>
>> from X
>> to("jms:queue:bar")
>> to Y
>>
>> So in this example since we configured the component with exclusive
>> reply to, and a reply to pattern as well. Then what happens is that
>> Camel will use a reply to queue named: bar.reply
>>
>>
>> Of course you can still configure all the options on the endpoint as
>> well if you like. And you can override the component settings so in
>> case you want a special reply to name you can do:
>>
>> from X
>> to("jms:queue:bar?replyTo=special")
>> to Y
>>
>> Any thoughts?
>>
>>
>> > Regards,
>> > Jim
>> >
>> > On 7/9/2011 5:52 AM, Claus Ibsen wrote:
>> >>
>> >> Hi Jim
>> >>
>> >> I have created a ticket and posted some comments about the issue
>> >> https://issues.apache.org/jira/browse/CAMEL-4202
>> >>
>> >> Are you using a fixed reply to queue that is *exclusive* to the Camel
>> >> route?
>> >> Or is the queue used for other purposes as well?
>> >>
>> >> Is there a special reason why you want to use a fixed reply to queue?
>> >>
>> >>
>> >>
>> >> On Fri, Jul 8, 2011 at 11:14 PM, Jim Newsham<jnews...@referentia.com>
>> >>  wrote:
>> >>>
>> >>> Hi Claus,
>> >>>
>> >>> I enabled trace logging.  I'm attaching the logs (for both client and
>> >>> server; both with and without custom replyTo) as a zip file -- not
> sure
>> >>> if
>> >>> the mailing list will filter it, we'll see.
>> >>>
>> >>> I see that there are 5 messages in the client log which only appear
> when
>> >>> a
>> >>> custom replyTo is specified:  "Running purge task to see if any
> entries
>> >>> has
>> >>> been timed out", "There are 1 in the timeout map", "did not receive a
>> >>> message", etc.  Here's an excerpt from each client log, for one
> exchange:
>> >>>
>> >>>  From log for client without replyTo:
>> >>>
>> >>> 2011-07-08 10:55:32,354 [main] TRACE
>> >>> org.apache.camel.component.jms.JmsProducer - Using inOut jms template
>> >>> 2011-07-08 10:55:32,361 [main] DEBUG
>> >>> org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate -
>> >>> Executing
>> >>> callback on JMS Session: ActiveMQSession
>> >>> {id=ID:rsi-eng-newsham-61473-1310158531968-0:3:1,started=false}
>> >>> 2011-07-08 10:55:32,361 [main] TRACE
>> >>> org.apache.camel.component.jms.JmsBinding - Using JmsMessageType: Text
>> >>> 2011-07-08 10:55:32,362 [main] DEBUG
>> >>> org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate -
>> >>> Sending
>> >>> JMS message to: queue://dest with message: ActiveMQTextMessage
> {commandId
>> >>> =
>> >>> 0, responseRequired = false, messageId = null, originalDestination =
>> >>> null,
>> >>> originalTransactionId = null, producerId = null, destination = null,
>> >>> transactionId = null, expiration = 0, timestamp = 0, arrival = 0,
>> >>> brokerInTime = 0, brokerOutTime = 0, correlationId =
>> >>> ID-rsi-eng-newsham-61472-1310158530715-0-4, replyTo =
>> >>> temp-queue://ID:rsi-eng-newsham-61473-1310158531968-0:1:1, persistent
> =
>> >>> false, type = null, priority = 0, groupID = null, groupSequence = 0,
>> >>> targetConsumerId = null, compressed = false, userID = null, content =
>> >>> null,
>> >>> marshalledProperties = null, dataStructure = null, redeliveryCounter =
> 0,
>> >>> size = 0, properties = null, readOnlyProperties = false, readOnlyBody
> =
>> >>> false, droppable = false, text = abc}
>> >>> 2011-07-08 10:55:32,363 [main] DEBUG
>> >>> org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate -
> Sent
>> >>> JMS
>> >>> message to: queue://dest with message: ActiveMQTextMessage {commandId
> =
>> >>> 0,
>> >>> responseRequired = false, messageId =
>> >>> ID:rsi-eng-newsham-61473-1310158531968-0:3:1:1:1, originalDestination
> =
>> >>> null, originalTransactionId = null, producerId = null, destination =
>> >>> queue://dest, transactionId = null, expiration = 1310158552362,
> timestamp
>> >>> =
>> >>> 1310158532362, arrival = 0, brokerInTime = 0, brokerOutTime = 0,
>> >>> correlationId = ID-rsi-eng-newsham-61472-1310158530715-0-4, replyTo =
>> >>> temp-queue://ID:rsi-eng-newsham-61473-1310158531968-0:1:1, persistent
> =
>> >>> true, type = null, priority = 4, groupID = null, groupSequence = 0,
>> >>> targetConsumerId = null, compressed = false, userID = null, content =
>> >>> null,
>> >>> marshalledProperties = null, dataStructure = null, redeliveryCounter =
> 0,
>> >>> size = 0, properties = null, readOnlyProperties = false, readOnlyBody
> =
>> >>> false, droppable = false, text = abc}
>> >>> 2011-07-08 10:55:32,368 [DefaultMessageListenerContainer-1] DEBUG
>> >>> org.apache.camel.component.jms.reply.TemporaryQueueReplyManager -
>> >>> Received
>> >>> reply message with correlationID:
>> >>> ID-rsi-eng-newsham-61472-1310158530715-0-4
>> >>> ->  ActiveMQTextMessage {commandId = 9, responseRequired = true,
>> >>> messageId =
>> >>> ID:rsi-eng-newsham-61470-1310158525476-2:1:1:1:2, originalDestination
> =
>> >>> null, originalTransactionId = null, producerId =
>> >>> ID:rsi-eng-newsham-61470-1310158525476-2:1:1:1, destination =
>> >>> temp-queue://ID:rsi-eng-newsham-61473-1310158531968-0:1:1,
> transactionId
>> >>> =
>> >>> null, expiration = 0, timestamp = 1310158532367, arrival = 0,
>> >>> brokerInTime =
>> >>> 1310158532367, brokerOutTime = 1310158532367, correlationId =
>> >>> ID-rsi-eng-newsham-61472-1310158530715-0-4, replyTo = null, persistent
> =
>> >>> true, type = null, priority = 4, groupID = null, groupSequence = 0,
>> >>> targetConsumerId = null, compressed = false, userID = null, content =
>> >>> null,
>> >>> marshalledProperties = null, dataStructure = null, redeliveryCounter =
> 0,
>> >>> size = 0, properties = null, readOnlyProperties = true, readOnlyBody =
>> >>> true,
>> >>> droppable = false, text = reply}
>> >>> 2011-07-08 10:55:32,369 [DefaultMessageListenerContainer-1] TRACE
>> >>> org.apache.camel.component.jms.JmsBinding - Extracting body as a
>> >>> TextMessage
>> >>> from JMS message: ActiveMQTextMessage {commandId = 9, responseRequired
> =
>> >>> true, messageId = ID:rsi-eng-newsham-61470-1310158525476-2:1:1:1:2,
>> >>> originalDestination = null, originalTransactionId = null, producerId =
>> >>> ID:rsi-eng-newsham-61470-1310158525476-2:1:1:1, destination =
>> >>> temp-queue://ID:rsi-eng-newsham-61473-1310158531968-0:1:1,
> transactionId
>> >>> =
>> >>> null, expiration = 0, timestamp = 1310158532367, arrival = 0,
>> >>> brokerInTime =
>> >>> 1310158532367, brokerOutTime = 1310158532367, correlationId =
>> >>> ID-rsi-eng-newsham-61472-1310158530715-0-4, replyTo = null, persistent
> =
>> >>> true, type = null, priority = 4, groupID = null, groupSequence = 0,
>> >>> targetConsumerId = null, compressed = false, userID = null, content =
>> >>> null,
>> >>> marshalledProperties = null, dataStructure = null, redeliveryCounter =
> 0,
>> >>> size = 0, properties = null, readOnlyProperties = true, readOnlyBody =
>> >>> true,
>> >>> droppable = false, text = reply}
>> >>> 2011-07-08 10:55:32,369 [DefaultMessageListenerContainer-1] DEBUG
>> >>> org.apache.camel.component.jms.reply.TemporaryQueueReplyManager -
> Reply
>> >>> received. Setting reply as OUT message: reply
>> >>> received reply in: 0.015 s
>> >>>
>> >>>  From log for client with replyTo:
>> >>>
>> >>> 2011-07-08 10:52:10,075 [main] TRACE
>> >>> org.apache.camel.component.jms.JmsProducer - Using inOut jms template
>> >>> 2011-07-08 10:52:10,081 [main] DEBUG
>> >>> org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate -
>> >>> Executing
>> >>> callback on JMS Session: ActiveMQSession
>> >>> {id=ID:rsi-eng-newsham-61455-1310158328671-0:3:1,started=false}
>> >>> 2011-07-08 10:52:10,082 [main] TRACE
>> >>> org.apache.camel.component.jms.JmsBinding - Using JmsMessageType: Text
>> >>> 2011-07-08 10:52:10,082 [main] DEBUG
>> >>> org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate -
>> >>> Sending
>> >>> JMS message to: queue://dest with message: ActiveMQTextMessage
> {commandId
>> >>> =
>> >>> 0, responseRequired = false, messageId = null, originalDestination =
>> >>> null,
>> >>> originalTransactionId = null, producerId = null, destination = null,
>> >>> transactionId = null, expiration = 0, timestamp = 0, arrival = 0,
>> >>> brokerInTime = 0, brokerOutTime = 0, correlationId =
>> >>> ID-rsi-eng-newsham-61454-1310158327407-0-4, replyTo =
> queue://replyQueue,
>> >>> persistent = false, type = null, priority = 0, groupID = null,
>> >>> groupSequence
>> >>> = 0, targetConsumerId = null, compressed = false, userID = null,
> content
>> >>> =
>> >>> null, marshalledProperties = null, dataStructure = null,
>> >>> redeliveryCounter =
>> >>> 0, size = 0, properties = null, readOnlyProperties = false,
> readOnlyBody
>> >>> =
>> >>> false, droppable = false, text = abc}
>> >>> 2011-07-08 10:52:10,083 [main] DEBUG
>> >>> org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate -
> Sent
>> >>> JMS
>> >>> message to: queue://dest with message: ActiveMQTextMessage {commandId
> =
>> >>> 0,
>> >>> responseRequired = false, messageId =
>> >>> ID:rsi-eng-newsham-61455-1310158328671-0:3:1:1:1, originalDestination
> =
>> >>> null, originalTransactionId = null, producerId = null, destination =
>> >>> queue://dest, transactionId = null, expiration = 1310158350082,
> timestamp
>> >>> =
>> >>> 1310158330082, arrival = 0, brokerInTime = 0, brokerOutTime = 0,
>> >>> correlationId = ID-rsi-eng-newsham-61454-1310158327407-0-4, replyTo =
>> >>> queue://replyQueue, persistent = true, type = null, priority = 4,
> groupID
>> >>> =
>> >>> null, groupSequence = 0, targetConsumerId = null, compressed = false,
>> >>> userID
>> >>> = null, content = null, marshalledProperties = null, dataStructure =
>> >>> null,
>> >>> redeliveryCounter = 0, size = 0, properties = null, readOnlyProperties
> =
>> >>> false, readOnlyBody = false, droppable = false, text = abc}
>> >>> 2011-07-08 10:52:10,536 [Camel (camel-1) thread #0 -
>> >>> JmsReplyManagerTimeoutChecker[dest] TRACE
>> >>> org.apache.camel.component.jms.reply.CorrelationMap - Running purge
> task
>> >>> to
>> >>> see if any entries has been timed out
>> >>> 2011-07-08 10:52:10,536 [Camel (camel-1) thread #0 -
>> >>> JmsReplyManagerTimeoutChecker[dest] TRACE
>> >>> org.apache.camel.component.jms.reply.CorrelationMap - There are 1 in
> the
>> >>> timeout map
>> >>> 2011-07-08 10:52:11,075 [DefaultMessageListenerContainer-1] DEBUG
>> >>>
>> >>>
> org.apache.camel.component.jms.reply.PersistentQueueReplyManager$PersistentQueueMessageListenerContainer
>> >>> - Consumer [ActiveMQMessageConsumer {
>> >>> value=ID:rsi-eng-newsham-61455-1310158328671-0:1:1:3, started=true }]
> of
>> >>> session [ActiveMQSession
>> >>> {id=ID:rsi-eng-newsham-61455-1310158328671-0:1:1,started=true}] did
> not
>> >>> receive a message
>> >>> 2011-07-08 10:52:11,075 [DefaultMessageListenerContainer-1] TRACE
>> >>> org.apache.camel.component.jms.reply.PersistentQueueReplyManager -
> Using
>> >>>
>> >>>
> MessageSelector[JMSCorrelationID='ID-rsi-eng-newsham-61454-1310158327407-0-4']
>> >>> 2011-07-08 10:52:11,078 [DefaultMessageListenerContainer-1] DEBUG
>> >>>
>> >>>
> org.apache.camel.component.jms.reply.PersistentQueueReplyManager$PersistentQueueMessageListenerContainer
>> >>> - Received message of type [class
>> >>> org.apache.activemq.command.ActiveMQTextMessage] from consumer
>> >>> [ActiveMQMessageConsumer {
>> >>> value=ID:rsi-eng-newsham-61455-1310158328671-0:1:1:4, started=true }]
> of
>> >>> session [ActiveMQSession
>> >>> {id=ID:rsi-eng-newsham-61455-1310158328671-0:1:1,started=true}]
>> >>> 2011-07-08 10:52:11,078 [DefaultMessageListenerContainer-1] DEBUG
>> >>> org.apache.camel.component.jms.reply.PersistentQueueReplyManager -
>> >>> Received
>> >>> reply message with correlationID:
>> >>> ID-rsi-eng-newsham-61454-1310158327407-0-4
>> >>> ->  ActiveMQTextMessage {commandId = 9, responseRequired = true,
>> >>> messageId =
>> >>> ID:rsi-eng-newsham-61452-1310158320230-2:1:1:1:2, originalDestination
> =
>> >>> null, originalTransactionId = null, producerId =
>> >>> ID:rsi-eng-newsham-61452-1310158320230-2:1:1:1, destination =
>> >>> queue://replyQueue, transactionId = null, expiration = 0, timestamp =
>> >>> 1310158330085, arrival = 0, brokerInTime = 1310158330085,
> brokerOutTime =
>> >>> 1310158331077, correlationId =
>> >>> ID-rsi-eng-newsham-61454-1310158327407-0-4,
>> >>> replyTo = null, persistent = true, type = null, priority = 4, groupID
> =
>> >>> null, groupSequence = 0, targetConsumerId = null, compressed = false,
>> >>> userID
>> >>> = null, content = null, marshalledProperties = null, dataStructure =
>> >>> null,
>> >>> redeliveryCounter = 0, size = 0, properties = null, readOnlyProperties
> =
>> >>> true, readOnlyBody = true, droppable = false, text = reply}
>> >>> 2011-07-08 10:52:11,078 [DefaultMessageListenerContainer-1] TRACE
>> >>> org.apache.camel.component.jms.JmsBinding - Extracting body as a
>> >>> TextMessage
>> >>> from JMS message: ActiveMQTextMessage {commandId = 9, responseRequired
> =
>> >>> true, messageId = ID:rsi-eng-newsham-61452-1310158320230-2:1:1:1:2,
>> >>> originalDestination = null, originalTransactionId = null, producerId =
>> >>> ID:rsi-eng-newsham-61452-1310158320230-2:1:1:1, destination =
>> >>> queue://replyQueue, transactionId = null, expiration = 0, timestamp =
>> >>> 1310158330085, arrival = 0, brokerInTime = 1310158330085,
> brokerOutTime =
>> >>> 1310158331077, correlationId =
>> >>> ID-rsi-eng-newsham-61454-1310158327407-0-4,
>> >>> replyTo = null, persistent = true, type = null, priority = 4, groupID
> =
>> >>> null, groupSequence = 0, targetConsumerId = null, compressed = false,
>> >>> userID
>> >>> = null, content = null, marshalledProperties = null, dataStructure =
>> >>> null,
>> >>> redeliveryCounter = 0, size = 0, properties = null, readOnlyProperties
> =
>> >>> true, readOnlyBody = true, droppable = false, text = reply}
>> >>> 2011-07-08 10:52:11,078 [DefaultMessageListenerContainer-1] DEBUG
>> >>> org.apache.camel.component.jms.reply.PersistentQueueReplyManager -
> Reply
>> >>> received. Setting reply as OUT message: reply
>> >>> received reply in: 1.004 s
>> >>>
>> >>> Thanks,
>> >>> Jim
>> >>>
>> >>>
>> >>>
>> >>> On 7/7/2011 10:59 PM, Claus Ibsen wrote:
>> >>>>
>> >>>> Can you enable TRACE logging at org.apache.camel.component.jms and
> run
>> >>>> it for both examples.
>> >>>> To see what happens.
>> >>>>
>> >>>>
>> >>>>
>> >>>> On Fri, Jul 8, 2011 at 3:18 AM, Jim Newsham<jnews...@referentia.com>
>> >>>>  wrote:
>> >>>>>
>> >>>>> I'm using Camel 2.7.1 on top of ActiveMQ 5.5.0.  For some reason,
> when
>> >>>>> I
>> >>>>> specify a custom replyTo destination on the endpoint url, the time
> it
>> >>>>> takes
>> >>>>> for the producer to receive a reply increases drastically.  The
> curious
>> >>>>> thing is that the time to receive a reply is almost exactly 1
> second.
>> >>>>>  When
>> >>>>> I remove the replyTo from the url, everything's fast again.
>> >>>>>
>> >>>>> I created a very simple, stand-alone test to demonstrate what I'm
>> >>>>> seeing.
>> >>>>>  There is a server class [4] which runs an embedded instance of
>> >>>>> ActiveMQ
>> >>>>> and
>> >>>>> simply replies to messages as they arrive; and a client [3] class
> which
>> >>>>> simply sends messages to the server, and prints the elapsed time.
>  The
>> >>>>> USE_REPLY_TO symbolic constant in the client determines whether a
>> >>>>> replyTo
>> >>>>> value is added to the url or not.
>> >>>>>
>> >>>>> The client output when USE_REPLY_TO is false is shown as [1].  The
>> >>>>> client
>> >>>>> output when USE_REPLY_TO is true is shown as [2].  The code is
> pretty
>> >>>>> trivial.  Am I doing something wrong, or is this a Camel and/or
>> >>>>> ActiveMQ
>> >>>>> issue?
>> >>>>>
>> >>>>> Thanks!
>> >>>>> Jim
>> >>>>>
>> >>>>>
>> >>>>> [1] USE_REPLY_TO = false
>> >>>>>
>> >>>>> received reply in: 0.476 s
>> >>>>> received reply in: 0.006 s
>> >>>>> received reply in: 0.006 s
>> >>>>> received reply in: 0.006 s
>> >>>>> received reply in: 0.006 s
>> >>>>> ...
>> >>>>>
>> >>>>>
>> >>>>> [2] USE_REPLY_TO = true
>> >>>>>
>> >>>>> received reply in: 1.524 s
>> >>>>> received reply in: 1.002 s
>> >>>>> received reply in: 1.003 s
>> >>>>> received reply in: 1.003 s
>> >>>>> received reply in: 1.002 s
>> >>>>> ...
>> >>>>>
>> >>>>>
>> >>>>> [3] TestReplyToClient.java
>> >>>>>
>> >>>>> package test;
>> >>>>>
>> >>>>> import org.apache.activemq.ActiveMQConnectionFactory;
>> >>>>> import org.apache.activemq.camel.component.ActiveMQComponent;
>> >>>>> import org.apache.camel.CamelContext;
>> >>>>> import org.apache.camel.ProducerTemplate;
>> >>>>> import org.apache.camel.impl.DefaultCamelContext;
>> >>>>>
>> >>>>> public class TestReplyToClient {
>> >>>>>
>> >>>>>  private static final boolean USE_REPLY_TO = false;
>> >>>>>
>> >>>>>  public static void main(String... args) throws Exception {
>> >>>>>    // create camel context; configure activemq component for
>> >>>>> tcp://localhost:7001
>> >>>>>    CamelContext context = new DefaultCamelContext();
>> >>>>>    ActiveMQComponent activemqComponent =
>> >>>>> ActiveMQComponent.activeMQComponent();
>> >>>>>    activemqComponent.setConnectionFactory(new
>> >>>>> ActiveMQConnectionFactory(
>> >>>>>      null, null, "tcp://localhost:7001"));
>> >>>>>    context.addComponent("activemq", activemqComponent);
>> >>>>>    context.start();
>> >>>>>
>> >>>>>    // define url to send requests to
>> >>>>>    String sendUrl = "activemq:queue:dest";
>> >>>>>    if (USE_REPLY_TO) {
>> >>>>>      sendUrl += "?replyTo=replyQueue";
>> >>>>>    }
>> >>>>>    System.err.println("sending to url: " + sendUrl);
>> >>>>>
>> >>>>>    // repeatedly send requests; measure elapsed time
>> >>>>>    ProducerTemplate template = context.createProducerTemplate();
>> >>>>>    while (true) {
>> >>>>>      long startNanos = System.nanoTime();
>> >>>>>      template.requestBody(sendUrl, "abc");
>> >>>>>      long elapsedNanos = System.nanoTime() - startNanos;
>> >>>>>      System.err.println(String.format("received reply in: %.3f s",
>> >>>>> elapsedNanos / 1000000000.0));
>> >>>>>    }
>> >>>>>  }
>> >>>>>
>> >>>>> }
>> >>>>>
>> >>>>>
>> >>>>> [4] TestReplyToServer.java
>> >>>>>
>> >>>>> package test;
>> >>>>>
>> >>>>> import org.apache.activemq.broker.BrokerService;
>> >>>>> import org.apache.activemq.camel.component.ActiveMQComponent;
>> >>>>> import org.apache.camel.CamelContext;
>> >>>>> import org.apache.camel.Exchange;
>> >>>>> import org.apache.camel.Processor;
>> >>>>> import org.apache.camel.builder.RouteBuilder;
>> >>>>> import org.apache.camel.impl.DefaultCamelContext;
>> >>>>>
>> >>>>> public class TestReplyToServer {
>> >>>>>
>> >>>>>  private static final String BROKER_NAME = "thebroker";
>> >>>>>
>> >>>>>  public static void main(String... args) throws Exception {
>> >>>>>    startBroker();
>> >>>>>    startCamel();
>> >>>>>    Thread.sleep(Long.MAX_VALUE);
>> >>>>>  }
>> >>>>>
>> >>>>>  private static void startBroker() throws Exception {
>> >>>>>    BrokerService brokerService = new BrokerService();
>> >>>>>    brokerService.setBrokerName(BROKER_NAME);
>> >>>>>    brokerService.setSchedulerSupport(false);
>> >>>>>    brokerService.setPersistent(false);
>> >>>>>    brokerService.addConnector("tcp://0.0.0.0:7001");
>> >>>>>    brokerService.start();
>> >>>>>    brokerService.waitUntilStarted();
>> >>>>>  }
>> >>>>>
>> >>>>>
>> >>>>>  private static void startCamel() throws Exception {
>> >>>>>    CamelContext context = new DefaultCamelContext();
>> >>>>>
>> >>>>>    ActiveMQComponent activemqComponent =
>> >>>>> ActiveMQComponent.activeMQComponent();
>> >>>>>
>  activemqComponent.setBrokerURL(String.format("vm://%s?create=false",
>> >>>>> BROKER_NAME));
>> >>>>>    context.addComponent("activemq", activemqComponent);
>> >>>>>
>> >>>>>    final String receiveUrl = "activemq:queue:dest";
>> >>>>>    context.addRoutes(new RouteBuilder() {
>> >>>>>      @Override
>> >>>>>      public void configure() throws Exception {
>> >>>>>        from(receiveUrl).process(new Processor() {
>> >>>>>          @Override
>> >>>>>          public void process(Exchange exchange) throws Exception {
>> >>>>>            System.err.println("received request");
>> >>>>>            exchange.getOut().setBody("reply");
>> >>>>>          }
>> >>>>>        });
>> >>>>>      }
>> >>>>>    });
>> >>>>>
>> >>>>>    context.start();
>> >>>>>    System.err.println("listening on url: " + receiveUrl);
>> >>>>>  }
>> >>>>>
>> >>>>> }
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>
>> >>>
>> >>
>> >>
>> >
>> >
>>
>>
>>
>> --
>> Claus Ibsen
>> -----------------
>> FuseSource
>> Email: cib...@fusesource.com
>> Web: http://fusesource.com
>> Twitter: davsclaus, fusenews
>> Blog: http://davsclaus.blogspot.com/
>> Author of Camel in Action: http://www.manning.com/ibsen/
>



-- 
Claus Ibsen
-----------------
FuseSource
Email: cib...@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Reply via email to