Remove PubSubMessageBuilder
This commit is contained in:
parent
3e27467420
commit
8ab5f23643
|
|
@ -37,7 +37,7 @@ import org.springframework.web.messaging.support.WebMessageHeaderAccesssor;
|
|||
* @author Rossen Stoyanchev
|
||||
* @since 4.0
|
||||
*/
|
||||
public abstract class AbstractPubSubMessageHandler implements MessageHandler {
|
||||
public abstract class AbstractWebMessageHandler implements MessageHandler {
|
||||
|
||||
protected final Log logger = LogFactory.getLog(getClass());
|
||||
|
||||
|
|
@ -43,7 +43,7 @@ import reactor.fn.selector.ObjectSelector;
|
|||
* @author Rossen Stoyanchev
|
||||
* @since 4.0
|
||||
*/
|
||||
public class ReactorPubSubMessageHandler extends AbstractPubSubMessageHandler {
|
||||
public class ReactorWebMessageHandler extends AbstractWebMessageHandler {
|
||||
|
||||
private MessageChannel clientChannel;
|
||||
|
||||
|
|
@ -57,7 +57,7 @@ public class ReactorPubSubMessageHandler extends AbstractPubSubMessageHandler {
|
|||
/**
|
||||
* @param clientChannel the channel to which messages for clients should be sent.
|
||||
*/
|
||||
public ReactorPubSubMessageHandler(MessageChannel clientChannel, Reactor reactor) {
|
||||
public ReactorWebMessageHandler(MessageChannel clientChannel, Reactor reactor) {
|
||||
Assert.notNull(clientChannel, "clientChannel is required");
|
||||
this.clientChannel = clientChannel;
|
||||
this.reactor = reactor;
|
||||
|
|
@ -43,7 +43,7 @@ import org.springframework.web.messaging.MessageType;
|
|||
import org.springframework.web.messaging.annotation.SubscribeEvent;
|
||||
import org.springframework.web.messaging.annotation.UnsubscribeEvent;
|
||||
import org.springframework.web.messaging.converter.MessageConverter;
|
||||
import org.springframework.web.messaging.service.AbstractPubSubMessageHandler;
|
||||
import org.springframework.web.messaging.service.AbstractWebMessageHandler;
|
||||
import org.springframework.web.messaging.support.MessageHolder;
|
||||
import org.springframework.web.messaging.support.WebMessageHeaderAccesssor;
|
||||
import org.springframework.web.method.HandlerMethod;
|
||||
|
|
@ -54,7 +54,7 @@ import org.springframework.web.method.HandlerMethodSelector;
|
|||
* @author Rossen Stoyanchev
|
||||
* @since 4.0
|
||||
*/
|
||||
public class AnnotationPubSubMessageHandler extends AbstractPubSubMessageHandler
|
||||
public class AnnotationWebMessageHandler extends AbstractWebMessageHandler
|
||||
implements ApplicationContextAware, InitializingBean {
|
||||
|
||||
private final MessageChannel clientChannel;
|
||||
|
|
@ -79,7 +79,7 @@ public class AnnotationPubSubMessageHandler extends AbstractPubSubMessageHandler
|
|||
private ReturnValueHandlerComposite returnValueHandlers = new ReturnValueHandlerComposite();
|
||||
|
||||
|
||||
public AnnotationPubSubMessageHandler(MessageChannel clientChannel, MessageChannel brokerChannel) {
|
||||
public AnnotationWebMessageHandler(MessageChannel clientChannel, MessageChannel brokerChannel) {
|
||||
Assert.notNull(clientChannel, "clientChannel is required");
|
||||
Assert.notNull(brokerChannel, "brokerChannel is required");
|
||||
this.clientChannel = clientChannel;
|
||||
|
|
@ -36,7 +36,7 @@ import org.springframework.util.StringUtils;
|
|||
import org.springframework.web.messaging.MessageType;
|
||||
import org.springframework.web.messaging.converter.CompositeMessageConverter;
|
||||
import org.springframework.web.messaging.converter.MessageConverter;
|
||||
import org.springframework.web.messaging.service.AbstractPubSubMessageHandler;
|
||||
import org.springframework.web.messaging.service.AbstractWebMessageHandler;
|
||||
import org.springframework.web.messaging.stomp.StompCommand;
|
||||
import org.springframework.web.messaging.support.WebMessageHeaderAccesssor;
|
||||
|
||||
|
|
@ -54,7 +54,7 @@ import reactor.tcp.netty.NettyTcpClient;
|
|||
* @author Rossen Stoyanchev
|
||||
* @since 4.0
|
||||
*/
|
||||
public class StompRelayPubSubMessageHandler extends AbstractPubSubMessageHandler implements SmartLifecycle {
|
||||
public class StompRelayWebMessageHandler extends AbstractWebMessageHandler implements SmartLifecycle {
|
||||
|
||||
private static final String STOMP_RELAY_SYSTEM_SESSION_ID = "stompRelaySystemSessionId";
|
||||
|
||||
|
|
@ -87,7 +87,7 @@ public class StompRelayPubSubMessageHandler extends AbstractPubSubMessageHandler
|
|||
/**
|
||||
* @param clientChannel the channel to which messages for clients should be sent.
|
||||
*/
|
||||
public StompRelayPubSubMessageHandler(MessageChannel clientChannel) {
|
||||
public StompRelayWebMessageHandler(MessageChannel clientChannel) {
|
||||
Assert.notNull(clientChannel, "clientChannel is required");
|
||||
this.clientChannel = clientChannel;
|
||||
this.payloadConverter = new CompositeMessageConverter(null);
|
||||
|
|
@ -1,76 +0,0 @@
|
|||
/*
|
||||
* Copyright 2002-2013 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.web.messaging.support;
|
||||
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.messaging.Message;
|
||||
import org.springframework.messaging.support.MessageBuilder;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
|
||||
/**
|
||||
* @author Rossen Stoyanchev
|
||||
* @since 4.0
|
||||
*/
|
||||
public class PubSubMessageBuilder<T> {
|
||||
|
||||
private final WebMessageHeaderAccesssor headers = WebMessageHeaderAccesssor.create();
|
||||
|
||||
private final T payload;
|
||||
|
||||
|
||||
private PubSubMessageBuilder(T payload) {
|
||||
Assert.notNull(payload, "<T> is required");
|
||||
this.payload = payload;
|
||||
}
|
||||
|
||||
|
||||
public static <T> PubSubMessageBuilder<T> withPayload(T payload) {
|
||||
return new PubSubMessageBuilder<T>(payload);
|
||||
}
|
||||
|
||||
|
||||
public PubSubMessageBuilder<T> destination(String destination) {
|
||||
Assert.notNull(destination, "destination is required");
|
||||
this.headers.setDestination(destination);
|
||||
return this;
|
||||
}
|
||||
|
||||
public PubSubMessageBuilder<T> contentType(MediaType contentType) {
|
||||
Assert.notNull(contentType, "contentType is required");
|
||||
this.headers.setContentType(contentType);
|
||||
return this;
|
||||
}
|
||||
|
||||
public PubSubMessageBuilder<T> contentType(String contentType) {
|
||||
Assert.notNull(contentType, "contentType is required");
|
||||
this.headers.setContentType(MediaType.parseMediaType(contentType));
|
||||
return this;
|
||||
}
|
||||
|
||||
public Message<T> build() {
|
||||
|
||||
Message<?> message = MessageHolder.getMessage();
|
||||
if (message != null) {
|
||||
String sessionId = WebMessageHeaderAccesssor.wrap(message).getSessionId();
|
||||
this.headers.setSessionId(sessionId);
|
||||
}
|
||||
|
||||
return MessageBuilder.withPayload(this.payload).copyHeaders(this.headers.toMap()).build();
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue