Fix NPE in DefaultSimpUserRegistry

This commit is contained in:
Rossen Stoyanchev
2015-05-22 13:43:02 -04:00
parent 92bd7bba50
commit c48e8708a7
4 changed files with 24 additions and 8 deletions

View File

@@ -34,7 +34,7 @@ import org.springframework.messaging.Message;
import org.springframework.messaging.MessageDeliveryException;
import org.springframework.messaging.converter.MessageConversionException;
import org.springframework.messaging.converter.MessageConverter;
import org.springframework.messaging.converter.StringMessageConverter;
import org.springframework.messaging.converter.SimpleMessageConverter;
import org.springframework.messaging.support.MessageBuilder;
import org.springframework.messaging.support.MessageHeaderAccessor;
import org.springframework.messaging.tcp.TcpConnection;
@@ -82,7 +82,7 @@ public class DefaultStompSession implements ConnectionHandlingStompSession {
private final SettableListenableFuture<StompSession> sessionFuture = new SettableListenableFuture<StompSession>();
private MessageConverter converter = new StringMessageConverter();
private MessageConverter converter = new SimpleMessageConverter();
private TaskScheduler taskScheduler;
@@ -141,7 +141,7 @@ public class DefaultStompSession implements ConnectionHandlingStompSession {
* Set the {@link MessageConverter} to use to convert the payload of incoming
* and outgoing messages to and from {@code byte[]} based on object type, or
* expected object type, and the "content-type" header.
* <p>By default, {@link StringMessageConverter} is configured.
* <p>By default, {@link SimpleMessageConverter} is configured.
* @param messageConverter the message converter to use
*/
public void setMessageConverter(MessageConverter messageConverter) {
@@ -415,7 +415,8 @@ public class DefaultStompSession implements ConnectionHandlingStompSession {
Class<?> payloadType = ResolvableType.forType(type).getRawClass();
Object object = getMessageConverter().fromMessage(message, payloadType);
if (object == null) {
throw new MessageConversionException("No suitable converter, payloadType=" + payloadType);
throw new MessageConversionException("No suitable converter, payloadType=" + payloadType +
", handlerType=" + handler.getClass());
}
handler.handleFrame(stompHeaders, object);
}

View File

@@ -18,7 +18,7 @@ package org.springframework.messaging.simp.stomp;
import java.util.Arrays;
import org.springframework.messaging.converter.MessageConverter;
import org.springframework.messaging.converter.StringMessageConverter;
import org.springframework.messaging.converter.SimpleMessageConverter;
import org.springframework.scheduling.TaskScheduler;
import org.springframework.util.Assert;
@@ -41,7 +41,7 @@ import org.springframework.util.Assert;
*/
public abstract class StompClientSupport {
private MessageConverter messageConverter = new StringMessageConverter();
private MessageConverter messageConverter = new SimpleMessageConverter();
private TaskScheduler taskScheduler;
@@ -54,7 +54,7 @@ public abstract class StompClientSupport {
* Set the {@link MessageConverter} to use to convert the payload of incoming
* and outgoing messages to and from {@code byte[]} based on object type
* and the "content-type" header.
* <p>By default, {@link StringMessageConverter} is configured.
* <p>By default, {@link SimpleMessageConverter} is configured.
* @param messageConverter the message converter to use
*/
public void setMessageConverter(MessageConverter messageConverter) {