Announcement Announcement Module
Collapse
No announcement yet.
Error in Sending Response to Temporary Queue provided in the Input Message Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Error in Sending Response to Temporary Queue provided in the Input Message

    Hi,

    I would like to send the response back to temporaryQueue provided in the input message using "inbound-channel-adapter", I am getting exception: "unable to resolve reply channel for message:"

    HTML Code:
    2011-06-03 17:28:17,264 ERROR org.springframework.integration.handler.LoggingHandler  - org.springframework.integration.channel.ChannelResolutionException: unable to resolve reply channel for message: [Payload=TextMessage={ Header={ JMSMessageID={ID:EMS-SERVER.3E04DE4EAC53A:1} JMSDestination={Queue[store.send.message.queue]} JMSReplyTo={Queue[$TMP$.EMS-SERVER.3E04DE4EAC53A.1]} JMSDeliveryMode={PERSISTENT} JMSRedelivered={false} JMSCorrelationID={null} JMSType={null} JMSTimestamp={Fri Jun 03 17:28:17 EDT 2011} JMSExpiration={0} JMSPriority={4} } Properties={ } Text={<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <motorVehicleRegistration/>} }][Headers={$jms_redelivered=false, $timestamp=1307136497217, $history=[channel:inboundMessageChannel], $jms_messageId=ID:EMS-SERVER.3E04DE4EAC53A:1, $jms_replyTo=Queue[$TMP$.EMS-SERVER.3E04DE4EAC53A.1], $id=341e7874-fe22-4432-afbd-71948506ec7a}]
    	at org.springframework.integration.handler.AbstractMessageHandler.resolveReplyChannel(AbstractMessageHandler.java:96)
    	at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleMessageInternal(AbstractReplyProducingMessageHandler.java:102)
    	at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:63)
    	at org.springframework.integration.endpoint.HandlerInvocationChain.handleMessage(HandlerInvocationChain.java:58)
    	at org.springframework.integration.dispatcher.UnicastingDispatcher.doDispatch(UnicastingDispatcher.java:105)
    	at org.springframework.integration.dispatcher.UnicastingDispatcher.dispatch(UnicastingDispatcher.java:92)
    	at org.springframework.integration.channel.AbstractSubscribableChannel.doSend(AbstractSubscribableChannel.java:43)
    	at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:171)
    	at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:144)
    	at org.springframework.integration.channel.MessageChannelTemplate.doSend(MessageChannelTemplate.java:224)
    	at org.springframework.integration.channel.MessageChannelTemplate.send(MessageChannelTemplate.java:181)
    	at org.springframework.integration.endpoint.SourcePollingChannelAdapter.doPoll(SourcePollingChannelAdapter.java:78)
    	at org.springframework.integration.endpoint.AbstractPollingEndpoint$Poller.innerPoll(AbstractPollingEndpoint.java:236)
    	at org.springframework.integration.endpoint.AbstractPollingEndpoint$Poller.poll(AbstractPollingEndpoint.java:220)
    	at org.springframework.integration.endpoint.AbstractPollingEndpoint$Poller.run(AbstractPollingEndpoint.java:213)
    	at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:51)
    	at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81)
    	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
    	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
    	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    	at java.lang.Thread.run(Thread.java:662)
    Here is the my configuration:

    HTML Code:
        <channel id="inboundMessageChannel"/>
    
    <jms:inbound-channel-adapter  channel="inboundMessageChannel"
                destination="messageToStoreQueue"
                connection-factory="connectionFactory"
                extract-payload="false"/>
    
    <service-activator input-channel="inboundMessageChannel"
        				   ref="tempMessageHandlerService"
        auto-startup="true"
        />
    @Service(value = "tempMessageHandlerService")
    public class TempMessageHandlerService {
    
        @ServiceActivator()
        public EmployeeMasterDTO processMessage(Message<Object> message) {
            EmployeeMasterDTO dto = new EmployeeMasterDTO();
            dto.setStoreId(12334);
            return dto;
        }
    Anyone please provide what is the wrong with above?

    Thanks,
    arcsri

  • #2
    Other Alternatives

    Anyone has any other alternatives to reply a message to "Temporary queue" in Synchronous way using Spring JMS integration?

    Thanks,
    Archana

    Comment

    Working...
    X