InOut exchange pattern is not detected by routes
------------------------------------------------

                 Key: CAMEL-1770
                 URL: https://issues.apache.org/activemq/browse/CAMEL-1770
             Project: Apache Camel
          Issue Type: Bug
          Components: camel-jms
    Affects Versions: 2.0-M2
         Environment: sunJDK6u14 sunJDK 6u13
            Reporter: Eric Bouer


The following test code should send a "hello world"  request and receive a "bye 
world" response.
The JMSReplyTo field is set. but camel won't send a reply.
If I explicitly set the exchange pattern in the route all goes fine.
This code uses template.send() , I also got the same error with 
template.asycRequestBody()
============= Code  snippet ===============

 context.addComponent("test-jms", 
ActiveMQComponent.jmsComponent(connectionFactory));
        context.addRoutes(new RouteBuilder() {
            public void configure() {
              from("test-jms:queue:test")
                             //.setExchangePattern(ExchangePattern.InOut) <-- 
Setting this explicitly solves the issue. camel should detect that 
automatically.
                    .process(new Processor() {
                    public void process(Exchange exchange) throws Exception {
                        exchange.getIn().setBody("Bye world");
                        
System.out.println(exchange.getProperty(JmsConstants.JMS_REPLY_DESTINATION).toString());
                    }
                });
            }});
        ProducerTemplate template = context.createProducerTemplate();
        context.start();

         Exchange out = template.send("test-jms:queue:test", 
ExchangePattern.InOut, new Processor() {
            public void process(Exchange exchange) throws Exception {
                exchange.getIn().setBody("Hello World");
            }
        });
================Logs: 
=============================================================

11:32:59,605 DEBUG DefaultCamelContext:497 - Adding routes from: Routes: 
[Route[[From[test-jms:queue:test]] -> 
[process[com.mycompany.camelexample.app$...@4b14b82b]]]] routes: []
11:32:59,611  INFO DefaultCamelContext:875 - Apache Camel 2.0-M2 
(CamelContext:camel-1) is starting
11:32:59,612 DEBUG DefaultProducerServicePool:93 - Starting service pool: 
org.apache.camel.impl.defaultproducerservicep...@6293df2c
11:32:59,613 DEBUG DefaultCamelContext:882 - StreamCaching is enabled
11:32:59,720 DEBUG DefaultInstrumentationAgent:229 - Starting JMX agent on 
server: com.sun.jmx.mbeanserver.jmxmbeanser...@4b8a6e6e
11:32:59,921 DEBUG DefaultInstrumentationAgent:293 - Registered MBean with 
objectname: org.apache.camel:context=niso/camel-1,name=context
11:33:00,000 DEBUG DefaultComponent:77 - Creating endpoint 
uri=[test-jms:queue:test], path=[queue:test], parameters=[{}]
11:33:00,009 DEBUG DefaultCamelContext:379 - test-jms:queue:test converted to 
endpoint: Endpoint[test-jms:queue:test] by component: 
org.apache.camel.component.jms.jmscompon...@410d3f0d
11:33:00,044 DEBUG DefaultInstrumentationAgent:293 - Registered MBean with 
objectname: 
org.apache.camel:context=niso/camel-1,type=endpoints,name="test-jms:queue:test\?id=0xa6c6baa1"
11:33:00,119 DEBUG DefaultInstrumentationAgent:293 - Registered MBean with 
objectname: 
org.apache.camel:context=niso/camel-1,type=processors,nodeid=process1,name="process[com.mycompany.camelexample.app$...@4b14b82b]"
11:33:00,180 DEBUG DefaultInstrumentationAgent:293 - Registered MBean with 
objectname: org.apache.camel:context=niso/camel-1,type=routes,name="route1"
11:33:00,203 DEBUG DefaultInstrumentationAgent:293 - Registered MBean with 
objectname: 
org.apache.camel:context=niso/camel-1,type=consumers,name=JmsConsumer(0x6ec5122f)
11:33:00,522 DEBUG WireFormatNegotiator:77 - Sending: WireFormatInfo { 
version=3, properties={CacheSize=1024, CacheEnabled=true, 
SizePrefixDisabled=false, MaxInactivityDurationInitalDelay=10000, 
TcpNoDelayEnabled=true, MaxInactivityDuration=30000, TightEncodingEnabled=true, 
StackTraceEnabled=true}, magic=[A,c,t,i,v,e,M,Q]}
11:33:00,525 DEBUG DefaultMessageListenerContainer:347 - Established shared JMS 
Connection
11:33:00,552 DEBUG WireFormatNegotiator:108 - Received WireFormat: 
WireFormatInfo { version=3, properties={CacheSize=1024, CacheEnabled=true, 
SizePrefixDisabled=false, MaxInactivityDurationInitalDelay=10000, 
TcpNoDelayEnabled=true, MaxInactivityDuration=30000, TightEncodingEnabled=true, 
StackTraceEnabled=true}, magic=[A,c,t,i,v,e,M,Q]}
11:33:00,553 DEBUG WireFormatNegotiator:115 - tcp://amq1/192.168.5.28:61616 
before negotiation: OpenWireFormat{version=3, cacheEnabled=false, 
stackTraceEnabled=false, tightEncodingEnabled=false, sizePrefixDisabled=false}
11:33:00,554 DEBUG WireFormatNegotiator:130 - tcp://amq1/192.168.5.28:61616 
after negotiation: OpenWireFormat{version=3, cacheEnabled=true, 
stackTraceEnabled=true, tightEncodingEnabled=true, sizePrefixDisabled=false}
11:33:00,712 DEBUG DefaultProducerServicePool:97 - Stopping service pool: 
org.apache.camel.impl.defaultproducerservicep...@6293df2c
11:33:00,737  INFO DefaultCamelContext:868 - Apache Camel 2.0-M2 
(CamelContext:camel-1) started
11:33:00,743 DEBUG ProducerCache:196 - Adding to producer cache with key: 
Endpoint[test-jms:queue:test] for producer: Producer[test-jms:queue:test]
11:33:00,847 DEBUG ProducerCache:163 - >>>> Endpoint[test-jms:queue:test] 
Exchange[JmsMessage: Hello World]
11:33:00,857 DEBUG WireFormatNegotiator:77 - Sending: WireFormatInfo { 
version=3, properties={CacheSize=1024, CacheEnabled=true, 
SizePrefixDisabled=false, MaxInactivityDurationInitalDelay=10000, 
TcpNoDelayEnabled=true, MaxInactivityDuration=30000, TightEncodingEnabled=true, 
StackTraceEnabled=true}, magic=[A,c,t,i,v,e,M,Q]}
11:33:00,859 DEBUG SimpleMessageListenerContainer:347 - Established shared JMS 
Connection
11:33:00,877 DEBUG WireFormatNegotiator:108 - Received WireFormat: 
WireFormatInfo { version=3, properties={CacheSize=1024, CacheEnabled=true, 
SizePrefixDisabled=false, MaxInactivityDurationInitalDelay=10000, 
TcpNoDelayEnabled=true, MaxInactivityDuration=30000, TightEncodingEnabled=true, 
StackTraceEnabled=true}, magic=[A,c,t,i,v,e,M,Q]}
11:33:00,878 DEBUG WireFormatNegotiator:115 - tcp://amq1/192.168.5.28:61616 
before negotiation: OpenWireFormat{version=3, cacheEnabled=false, 
stackTraceEnabled=false, tightEncodingEnabled=false, sizePrefixDisabled=false}
11:33:00,878 DEBUG WireFormatNegotiator:130 - tcp://amq1/192.168.5.28:61616 
after negotiation: OpenWireFormat{version=3, cacheEnabled=true, 
stackTraceEnabled=true, tightEncodingEnabled=true, sizePrefixDisabled=false}
11:33:00,948 DEBUG JmsProducer:202 - Using JMS API v1.1
11:33:00,954 DEBUG WireFormatNegotiator:77 - Sending: WireFormatInfo { 
version=3, properties={CacheSize=1024, CacheEnabled=true, 
SizePrefixDisabled=false, MaxInactivityDurationInitalDelay=10000, 
TcpNoDelayEnabled=true, MaxInactivityDuration=30000, TightEncodingEnabled=true, 
StackTraceEnabled=true}, magic=[A,c,t,i,v,e,M,Q]}
11:33:00,958 DEBUG WireFormatNegotiator:108 - Received WireFormat: 
WireFormatInfo { version=3, properties={CacheSize=1024, CacheEnabled=true, 
SizePrefixDisabled=false, MaxInactivityDurationInitalDelay=10000, 
TcpNoDelayEnabled=true, MaxInactivityDuration=30000, TightEncodingEnabled=true, 
StackTraceEnabled=true}, magic=[A,c,t,i,v,e,M,Q]}
11:33:00,958 DEBUG WireFormatNegotiator:115 - tcp://amq1/192.168.5.28:61616 
before negotiation: OpenWireFormat{version=3, cacheEnabled=false, 
stackTraceEnabled=false, tightEncodingEnabled=false, sizePrefixDisabled=false}
11:33:00,958 DEBUG WireFormatNegotiator:130 - tcp://amq1/192.168.5.28:61616 
after negotiation: OpenWireFormat{version=3, cacheEnabled=true, 
stackTraceEnabled=true, tightEncodingEnabled=true, sizePrefixDisabled=false}
11:33:00,987 DEBUG JmsConfiguration$CamelJmsTemplate:469 - Executing callback 
on JMS Session: ActiveMQSession 
{id=ID:niso-55060-1246264380379-0:2:1,started=false}
11:33:00,992 DEBUG JmsBinding:370 - Using JmsMessageType: Text
11:33:01,023 DEBUG JmsProducer:188 - Endpoint[test-jms:queue:test] sending JMS 
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-niso-53590-1246264380744-2-0, replyTo = 
temp-queue://ID:niso-55060-1246264380379-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 = 
Hello World}
11:33:01,024 DEBUG JmsConfiguration$CamelJmsTemplate:202 - Sending created 
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-niso-53590-1246264380744-2-0, replyTo = 
temp-queue://ID:niso-55060-1246264380379-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 = 
Hello World}
11:33:01,026 DEBUG ActiveMQSession:1640 - ID:niso-55060-1246264380379-0:2:1 
sending message: ActiveMQTextMessage {commandId = 0, responseRequired = false, 
messageId = ID:niso-55060-1246264380379-0:2:1:1:1, originalDestination = null, 
originalTransactionId = null, producerId = ID:niso-55060-1246264380379-0:2:1:1, 
destination = queue://test, transactionId = null, expiration = 1246264401026, 
timestamp = 1246264381026, arrival = 0, brokerInTime = 0, brokerOutTime = 0, 
correlationId = ID-niso-53590-1246264380744-2-0, replyTo = 
temp-queue://ID:niso-55060-1246264380379-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 = true, readOnlyBody = true, droppable = false, text = Hello 
World}
11:33:01,057 DEBUG ActiveMQMessageConsumer:432 - 
ID:niso-55060-1246264380379-0:0:1:1 received message: MessageDispatch 
{commandId = 0, responseRequired = false, consumerId = 
ID:niso-55060-1246264380379-0:0:1:1, destination = queue://test, message = 
ActiveMQTextMessage {commandId = 5, responseRequired = true, messageId = 
ID:niso-55060-1246264380379-0:2:1:1:1, originalDestination = null, 
originalTransactionId = null, producerId = ID:niso-55060-1246264380379-0:2:1:1, 
destination = queue://test, transactionId = null, expiration = 1246264401026, 
timestamp = 1246264381026, arrival = 0, brokerInTime = 1246264325691, 
brokerOutTime = 1246264325719, correlationId = ID-niso-53590-1246264380744-2-0, 
replyTo = temp-queue://ID:niso-55060-1246264380379-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 = true, readOnlyBody = true, droppable = false, text = 
Hello World}, redeliveryCounter = 0}
11:33:01,057 DEBUG DefaultMessageListenerContainer:311 - Received message of 
type [class org.apache.activemq.command.ActiveMQTextMessage] from consumer 
[ActiveMQMessageConsumer { value=ID:niso-55060-1246264380379-0:0:1:1, 
started=true }] of session [ActiveMQSession 
{id=ID:niso-55060-1246264380379-0:0:1,started=true}]
11:33:01,060 DEBUG EndpointMessageListener:66 - Endpoint[test-jms:queue:test] 
consumer receiving JMS message: ActiveMQTextMessage {commandId = 5, 
responseRequired = true, messageId = ID:niso-55060-1246264380379-0:2:1:1:1, 
originalDestination = null, originalTransactionId = null, producerId = 
ID:niso-55060-1246264380379-0:2:1:1, destination = queue://test, transactionId 
= null, expiration = 1246264401026, timestamp = 1246264381026, arrival = 0, 
brokerInTime = 1246264325691, brokerOutTime = 1246264325719, correlationId = 
ID-niso-53590-1246264380744-2-0, replyTo = 
temp-queue://ID:niso-55060-1246264380379-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 = true, readOnlyBody = true, droppable = false, text = Hello 
World}
11:33:01,066 DEBUG DefaultPackageScanClassResolver:80 - Searching for 
annotations of org.apache.camel.Converter in packages: 
[org.apache.camel.component.file, org.apache.camel.converter, 
org.apache.camel.component.activemq, org.apache.activemq.camel.converter, 
org.apache.camel.spring.converter]
11:33:01,067 DEBUG DefaultPackageScanClassResolver:243 - Loading from jar: 
/home/ori7/.m2/repository/org/apache/camel/camel-core/2.0-M2/camel-core-2.0-M2.jar
11:33:01,077 DEBUG TcpTransport:458 - Stopping transport 
tcp://amq1/192.168.5.28:61616
11:33:01,352 DEBUG DefaultPackageScanClassResolver:243 - Loading from jar: 
/home/ori7/.m2/repository/org/apache/camel/camel-core/2.0-M2/camel-core-2.0-M2.jar
11:33:01,527 DEBUG DefaultPackageScanClassResolver:243 - Loading from jar: 
/home/ori7/.m2/repository/org/apache/camel/camel-activemq/1.1.0/camel-activemq-1.1.0.jar
11:33:01,563 DEBUG DefaultPackageScanClassResolver:243 - Loading from jar: 
/home/ori7/.m2/repository/org/apache/activemq/activemq-camel/5.2.0/activemq-camel-5.2.0.jar
11:33:01,615 DEBUG DefaultPackageScanClassResolver:90 - Found: [class 
org.apache.camel.component.file.GenericFileConverter, class 
org.apache.camel.converter.CamelConverter, class 
org.apache.camel.converter.CollectionConverter, class 
org.apache.camel.converter.IOConverter, class 
org.apache.camel.converter.NIOConverter, class 
org.apache.camel.converter.ObjectConverter, class 
org.apache.camel.converter.jaxp.DomConverter, class 
org.apache.camel.converter.jaxp.StaxConverter, class 
org.apache.camel.converter.jaxp.StreamSourceConverter, class 
org.apache.camel.converter.jaxp.XmlConverter, class 
org.apache.camel.converter.stream.StreamCacheConverter, class 
org.apache.camel.component.activemq.ActiveMQConverter, class 
org.apache.activemq.camel.converter.ActiveMQConverter, class 
org.apache.activemq.camel.converter.ActiveMQMessageConverter]
11:33:01,619 DEBUG AnnotationTypeConverterLoader:65 - Loading converter class: 
org.apache.camel.component.file.GenericFileConverter
11:33:01,625 DEBUG AnnotationTypeConverterLoader:65 - Loading converter class: 
org.apache.camel.converter.CamelConverter
11:33:01,627 DEBUG AnnotationTypeConverterLoader:65 - Loading converter class: 
org.apache.camel.converter.CollectionConverter
11:33:01,629 DEBUG AnnotationTypeConverterLoader:65 - Loading converter class: 
org.apache.camel.converter.IOConverter
11:33:01,632 DEBUG AnnotationTypeConverterLoader:65 - Loading converter class: 
org.apache.camel.converter.NIOConverter
11:33:01,634 DEBUG AnnotationTypeConverterLoader:65 - Loading converter class: 
org.apache.camel.converter.ObjectConverter
11:33:01,635 DEBUG AnnotationTypeConverterLoader:65 - Loading converter class: 
org.apache.camel.converter.jaxp.DomConverter
11:33:01,636 DEBUG AnnotationTypeConverterLoader:65 - Loading converter class: 
org.apache.camel.converter.jaxp.StaxConverter
11:33:01,638 DEBUG AnnotationTypeConverterLoader:65 - Loading converter class: 
org.apache.camel.converter.jaxp.StreamSourceConverter
11:33:01,639 DEBUG AnnotationTypeConverterLoader:65 - Loading converter class: 
org.apache.camel.converter.jaxp.XmlConverter
11:33:01,644 DEBUG AnnotationTypeConverterLoader:65 - Loading converter class: 
org.apache.camel.converter.stream.StreamCacheConverter
11:33:01,646 DEBUG AnnotationTypeConverterLoader:65 - Loading converter class: 
org.apache.camel.component.activemq.ActiveMQConverter
11:33:01,646 DEBUG AnnotationTypeConverterLoader:65 - Loading converter class: 
org.apache.activemq.camel.converter.ActiveMQConverter
11:33:01,647  WARN DefaultTypeConverter:197 - Overriding type converter from: 
StaticMethodTypeConverter: public static 
org.apache.activemq.command.ActiveMQDestination 
org.apache.camel.component.activemq.ActiveMQConverter.toDestination(java.lang.String)
 to: StaticMethodTypeConverter: public static 
org.apache.activemq.command.ActiveMQDestination 
org.apache.activemq.camel.converter.ActiveMQConverter.toDestination(java.lang.String)
11:33:01,648 DEBUG AnnotationTypeConverterLoader:65 - Loading converter class: 
org.apache.activemq.camel.converter.ActiveMQMessageConverter
temp-queue://ID:niso-55060-1246264380379-0:1:1
11:33:20,552 DEBUG InactivityMonitor:99 - 10000 ms elapsed since last write 
check.
11:33:20,877 DEBUG InactivityMonitor:99 - 9999 ms elapsed since last write 
check.
11:33:21,080 DEBUG JmsProducer:239 - Future timed out: 
java.util.concurrent.TimeoutException
java.util.concurrent.TimeoutException
        at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:228)
        at java.util.concurrent.FutureTask.get(FutureTask.java:91)
        at 
org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:231)
        at 
org.apache.camel.impl.ProducerCache$1.doInProducer(ProducerCache.java:165)
        at 
org.apache.camel.impl.ProducerCache$1.doInProducer(ProducerCache.java:151)
        at 
org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:136)
        at 
org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:150)
        at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:104)
        at 
org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:102)
        at 
org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:89)
        at com.mycompany.CamelExample.App.main(App.java:57)
11:33:21,855 DEBUG DefaultTimeoutMap:128 - Evicting inactive request for 
correlationID: Entry for key: ID-niso-53590-1246264380744-2-0
11:33:30,552 DEBUG InactivityMonitor:99 - 10000 ms elapsed since last write 
check.
11:33:30,877 DEBUG InactivityMonitor:99 - 10000 ms elapsed since last write 
check.
11:33:40,552 DEBUG InactivityMonitor:99 - 10000 ms elapsed since last write 
check.


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

Reply via email to