Sonar fixes

Critical issues for `o.s.i.j*` (except `jdbc`).
This commit is contained in:
Gary Russell
2018-12-14 15:26:11 -05:00
committed by Artem Bilan
parent 89fdb938de
commit 7efe79f457
10 changed files with 51 additions and 22 deletions

View File

@@ -24,6 +24,7 @@ import org.springframework.integration.endpoint.AbstractMessageSource;
import org.springframework.integration.jms.util.JmsAdapterUtils;
import org.springframework.integration.support.AbstractIntegrationMessageBuilder;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.support.converter.MessageConverter;
import org.springframework.messaging.Message;
import org.springframework.messaging.MessagingException;
import org.springframework.util.Assert;
@@ -131,7 +132,10 @@ public class JmsDestinationPollingSource extends AbstractMessageSource<Object> {
Map<String, Object> mappedHeaders = this.headerMapper.toHeaders(jmsMessage);
Object object = jmsMessage;
if (this.extractPayload) {
object = this.jmsTemplate.getMessageConverter().fromMessage(jmsMessage);
MessageConverter converter = this.jmsTemplate.getMessageConverter();
if (converter != null) {
object = converter.fromMessage(jmsMessage);
}
}
AbstractIntegrationMessageBuilder<?> builder =
(object instanceof Message)

View File

@@ -33,6 +33,7 @@ import org.springframework.integration.dispatcher.UnicastingDispatcher;
import org.springframework.integration.support.MessageBuilderFactory;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.listener.AbstractMessageListenerContainer;
import org.springframework.jms.support.converter.MessageConverter;
import org.springframework.messaging.Message;
import org.springframework.messaging.MessageDeliveryException;
import org.springframework.messaging.MessageHandler;
@@ -206,14 +207,19 @@ public class SubscribableJmsChannel extends AbstractJmsChannel
public void onMessage(javax.jms.Message message) {
Message<?> messageToSend = null;
try {
Object converted = this.jmsTemplate.getMessageConverter().fromMessage(message);
MessageConverter converter = this.jmsTemplate.getMessageConverter();
Object converted = null;
if (converter != null) {
converted = converter.fromMessage(message);
}
if (converted != null) {
messageToSend = (converted instanceof Message<?>) ? (Message<?>) converted
: this.messageBuilderFactory.withPayload(converted).build();
this.dispatcher.dispatch(messageToSend);
}
else if (this.logger.isWarnEnabled()) {
this.logger.warn("MessageConverter returned null, no Message to dispatch");
this.logger.warn("No converter found, or converter returned null for: " + message
+ ", no Message to dispatch");
}
}
catch (MessageDispatchingException e) {

View File

@@ -24,6 +24,7 @@ import javax.jms.Destination;
import javax.jms.ExceptionListener;
import javax.jms.Session;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.BeanNameAware;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.config.AbstractFactoryBean;
@@ -392,8 +393,9 @@ public class JmsChannelFactoryBean extends AbstractFactoryBean<AbstractJmsChanne
this.channel.setInterceptors(this.interceptors);
}
this.channel.setBeanName(this.beanName);
if (this.getBeanFactory() != null) {
this.channel.setBeanFactory(this.getBeanFactory());
BeanFactory beanFactory = this.getBeanFactory();
if (beanFactory != null) {
this.channel.setBeanFactory(beanFactory);
}
this.channel.afterPropertiesSet();
return this.channel;

View File

@@ -26,6 +26,7 @@ import org.springframework.integration.jms.AbstractJmsChannel;
import org.springframework.integration.jms.config.JmsChannelFactoryBean;
import org.springframework.jms.support.converter.MessageConverter;
import org.springframework.jms.support.destination.DestinationResolver;
import org.springframework.lang.Nullable;
/**
* A {@link MessageChannelSpec} for an {@link AbstractJmsChannel}.
@@ -33,6 +34,7 @@ import org.springframework.jms.support.destination.DestinationResolver;
* @param <S> the target {@link JmsPollableMessageChannelSpec} implementation type.
*
* @author Artem Bilan
* @author Gary Russell
*
* @since 5.0
*/
@@ -53,8 +55,10 @@ public class JmsPollableMessageChannelSpec<S extends JmsPollableMessageChannelSp
}
@Override
protected S id(String id) {
this.jmsChannelFactoryBean.setBeanName(id);
protected S id(@Nullable String id) {
if (id != null) {
this.jmsChannelFactoryBean.setBeanName(id);
}
return super.id(id);
}