From 6a77b2b6420d6fca08854521819a9fdb8908d471 Mon Sep 17 00:00:00 2001 From: Mark Fisher Date: Thu, 13 Nov 2008 21:37:26 +0000 Subject: [PATCH] Factored out the MessageListener implementation into a separate inner class. --- .../integration/jms/JmsInboundGateway.java | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/org.springframework.integration.jms/src/main/java/org/springframework/integration/jms/JmsInboundGateway.java b/org.springframework.integration.jms/src/main/java/org/springframework/integration/jms/JmsInboundGateway.java index d54d0db131..b36094086c 100644 --- a/org.springframework.integration.jms/src/main/java/org/springframework/integration/jms/JmsInboundGateway.java +++ b/org.springframework.integration.jms/src/main/java/org/springframework/integration/jms/JmsInboundGateway.java @@ -29,7 +29,6 @@ import org.springframework.integration.gateway.SimpleMessagingGateway; import org.springframework.jms.listener.AbstractMessageListenerContainer; import org.springframework.jms.listener.DefaultMessageListenerContainer; import org.springframework.jms.listener.SessionAwareMessageListener; -import org.springframework.jms.listener.adapter.MessageListenerAdapter; import org.springframework.jms.support.converter.MessageConverter; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.util.Assert; @@ -167,23 +166,7 @@ public class JmsInboundGateway extends SimpleMessagingGateway implements Disposa hmmc.setExtractReplyPayload(this.extractReplyPayload); this.messageConverter = hmmc; } - MessageListenerAdapter listener = new MessageListenerAdapter(); - listener.setDelegate(new SessionAwareMessageListener() { - public void onMessage(javax.jms.Message jmsMessage, Session session) throws JMSException { - Object object = messageConverter.fromMessage(jmsMessage); - Message replyMessage = JmsInboundGateway.this.sendAndReceiveMessage(object); - if (replyMessage != null) { - javax.jms.Message jmsReply = messageConverter.toMessage(replyMessage, session); - if (jmsReply.getJMSCorrelationID() == null) { - jmsReply.setJMSCorrelationID(jmsMessage.getJMSMessageID()); - } - MessageProducer producer = session.createProducer(jmsMessage.getJMSReplyTo()); - producer.send(jmsMessage.getJMSReplyTo(), jmsReply); - } - } - }); - listener.setMessageConverter(this.messageConverter); - this.container.setMessageListener(listener); + this.container.setMessageListener(new GatewayInvokingMessageListener()); if (!this.container.isActive()) { this.container.afterPropertiesSet(); } @@ -241,4 +224,21 @@ public class JmsInboundGateway extends SimpleMessagingGateway implements Disposa } } + + private class GatewayInvokingMessageListener implements SessionAwareMessageListener { + + public void onMessage(javax.jms.Message jmsMessage, Session session) throws JMSException { + Object object = messageConverter.fromMessage(jmsMessage); + Message replyMessage = JmsInboundGateway.this.sendAndReceiveMessage(object); + if (replyMessage != null) { + javax.jms.Message jmsReply = messageConverter.toMessage(replyMessage, session); + if (jmsReply.getJMSCorrelationID() == null) { + jmsReply.setJMSCorrelationID(jmsMessage.getJMSMessageID()); + } + MessageProducer producer = session.createProducer(jmsMessage.getJMSReplyTo()); + producer.send(jmsMessage.getJMSReplyTo(), jmsReply); + } + } + } + }