INT-904, INT-907 polishing, refactoring of AbstractMessagingGateway and ChannelPublishingJmsMessageListener

This commit is contained in:
Oleg Zhurakousky
2010-06-25 02:55:42 +00:00
parent 1e1c0e84b7
commit fef67c7326
3 changed files with 36 additions and 51 deletions

View File

@@ -201,6 +201,10 @@ public class ChannelPublishingJmsMessageListener extends AbstractMessagingGatewa
public void setExtractReplyPayload(boolean extractReplyPayload) {
this.extractReplyPayload = extractReplyPayload;
}
/*
* (non-Javadoc)
* @see org.springframework.integration.gateway.AbstractMessagingGateway#onInit()
*/
public final void onInit() {
if (!(this.messageConverter instanceof HeaderMappingMessageConverter)) {
HeaderMappingMessageConverter hmmc = new HeaderMappingMessageConverter(this.messageConverter, this.headerMapper);
@@ -209,7 +213,9 @@ public class ChannelPublishingJmsMessageListener extends AbstractMessagingGatewa
this.messageConverter = hmmc;
}
}
/**
*
*/
public void onMessage(javax.jms.Message jmsMessage, Session session) throws JMSException {
Object object = this.messageConverter.fromMessage(jmsMessage);
Message<?> requestMessage = (object instanceof Message<?>) ?
@@ -221,7 +227,7 @@ public class ChannelPublishingJmsMessageListener extends AbstractMessagingGatewa
Message<?> replyMessage = this.sendAndReceiveMessage(requestMessage);
if (replyMessage != null){
Destination destination = this.getReplyDestination(jmsMessage, session, false);
Destination destination = this.getReplyDestination(jmsMessage, session);
if (destination != null){
javax.jms.Message jmsReply = this.messageConverter.toMessage(replyMessage, session);
if (jmsReply.getJMSCorrelationID() == null) {
@@ -263,7 +269,7 @@ public class ChannelPublishingJmsMessageListener extends AbstractMessagingGatewa
* @see #setDefaultReplyDestination
* @see javax.jms.Message#getJMSReplyTo()
*/
private Destination getReplyDestination(javax.jms.Message request, Session session, boolean error) throws JMSException {
private Destination getReplyDestination(javax.jms.Message request, Session session) throws JMSException {
Destination replyTo = request.getJMSReplyTo();
if (replyTo == null) {
@@ -314,20 +320,4 @@ public class ChannelPublishingJmsMessageListener extends AbstractMessagingGatewa
this.isTopic = isTopic;
}
}
@Override
protected Object fromMessage(Message<?> message) {
throw new UnsupportedOperationException("'fromMessage' is not supported within this instance");
}
@Override
protected Message<?> toMessage(Object object) {
Message<?> message = null;
if (object instanceof Throwable){
message = super.toMessage(object);
} else if (object instanceof Message<?>) {
message = (Message<?>) object;
}
return message;
}
}