Rename @SubscribeEvent to @SubscribeMapping
Also @SubscribeMapping is now a method-level annotation only that can be used in combination with a type-level @MessageMapping. This method also documents supported method arguments and return value types on @Subscribe- and @MessageMapping methods.
This commit is contained in:
@@ -32,7 +32,7 @@ import org.springframework.messaging.handler.annotation.MessageMapping;
|
||||
import org.springframework.messaging.handler.annotation.SendTo;
|
||||
import org.springframework.messaging.simp.SimpMessageHeaderAccessor;
|
||||
import org.springframework.messaging.simp.SimpMessagingTemplate;
|
||||
import org.springframework.messaging.simp.annotation.SubscribeEvent;
|
||||
import org.springframework.messaging.simp.annotation.SubscribeMapping;
|
||||
import org.springframework.messaging.support.MessageBuilder;
|
||||
import org.springframework.messaging.support.converter.MessageConverter;
|
||||
|
||||
@@ -132,12 +132,12 @@ public class SubscriptionMethodReturnValueHandlerTests {
|
||||
}
|
||||
|
||||
|
||||
@SubscribeEvent("/data") // not needed for the tests but here for completeness
|
||||
@SubscribeMapping("/data") // not needed for the tests but here for completeness
|
||||
private String getData() {
|
||||
return payloadContent;
|
||||
}
|
||||
|
||||
@SubscribeEvent("/data") // not needed for the tests but here for completeness
|
||||
@SubscribeMapping("/data") // not needed for the tests but here for completeness
|
||||
@SendTo("/sendToDest")
|
||||
private String getDataAndSendTo() {
|
||||
return payloadContent;
|
||||
|
||||
@@ -27,7 +27,7 @@ import org.springframework.messaging.handler.annotation.MessageMapping;
|
||||
import org.springframework.messaging.handler.annotation.SendTo;
|
||||
import org.springframework.messaging.handler.websocket.SubProtocolWebSocketHandler;
|
||||
import org.springframework.messaging.simp.SimpMessageType;
|
||||
import org.springframework.messaging.simp.annotation.SubscribeEvent;
|
||||
import org.springframework.messaging.simp.annotation.SubscribeMapping;
|
||||
import org.springframework.messaging.simp.handler.SimpAnnotationMethodMessageHandler;
|
||||
import org.springframework.messaging.simp.handler.SimpleBrokerMessageHandler;
|
||||
import org.springframework.messaging.simp.handler.UserDestinationMessageHandler;
|
||||
@@ -262,7 +262,7 @@ public class WebSocketMessageBrokerConfigurationSupportTests {
|
||||
@Controller
|
||||
static class TestController {
|
||||
|
||||
@SubscribeEvent("/foo")
|
||||
@SubscribeMapping("/foo")
|
||||
public String handleSubscribe() {
|
||||
return "bar";
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ import org.springframework.messaging.simp.SimpMessageHeaderAccessor;
|
||||
import org.springframework.messaging.simp.SimpMessageSendingOperations;
|
||||
import org.springframework.messaging.simp.SimpMessageType;
|
||||
import org.springframework.messaging.simp.SimpMessagingTemplate;
|
||||
import org.springframework.messaging.simp.annotation.SubscribeEvent;
|
||||
import org.springframework.messaging.simp.annotation.SubscribeMapping;
|
||||
import org.springframework.messaging.support.MessageBuilder;
|
||||
import org.springframework.stereotype.Controller;
|
||||
|
||||
@@ -121,7 +121,7 @@ public class SimpAnnotationMethodMessageHandlerTests {
|
||||
|
||||
@Test
|
||||
public void bestMatchWildcard() {
|
||||
SimpMessageHeaderAccessor headers = SimpMessageHeaderAccessor.create();
|
||||
SimpMessageHeaderAccessor headers = SimpMessageHeaderAccessor.create(SimpMessageType.MESSAGE);
|
||||
headers.setDestination("/pre/bestmatch/bar/path");
|
||||
Message<?> message = MessageBuilder.withPayload(new byte[0]).setHeaders(headers).build();
|
||||
this.messageHandler.handleMessage(message);
|
||||
@@ -159,7 +159,6 @@ public class SimpAnnotationMethodMessageHandlerTests {
|
||||
|
||||
@Controller
|
||||
@MessageMapping("/pre")
|
||||
@SubscribeEvent("/pre")
|
||||
private static class TestController {
|
||||
|
||||
private String method;
|
||||
@@ -176,15 +175,15 @@ public class SimpAnnotationMethodMessageHandlerTests {
|
||||
|
||||
@MessageMapping("/message/{foo}/{name}")
|
||||
public void messageMappingPathVariable(@PathVariable("foo") String param1,
|
||||
@PathVariable("name") String param2) {
|
||||
@PathVariable("name") String param2) {
|
||||
this.method = "messageMappingPathVariable";
|
||||
this.arguments.put("foo", param1);
|
||||
this.arguments.put("name", param2);
|
||||
}
|
||||
|
||||
@SubscribeEvent("/sub/{foo}/{name}")
|
||||
@SubscribeMapping("/sub/{foo}/{name}")
|
||||
public void subscribeEventPathVariable(@PathVariable("foo") String param1,
|
||||
@PathVariable("name") String param2) {
|
||||
@PathVariable("name") String param2) {
|
||||
this.method = "subscribeEventPathVariable";
|
||||
this.arguments.put("foo", param1);
|
||||
this.arguments.put("name", param2);
|
||||
@@ -201,9 +200,9 @@ public class SimpAnnotationMethodMessageHandlerTests {
|
||||
this.arguments.put("foo", param1);
|
||||
}
|
||||
|
||||
@MessageMapping("/bestmatch/**")
|
||||
public void otherMatch() {
|
||||
this.method = "otherMatch";
|
||||
@MessageMapping("/bestmatch/*/*")
|
||||
public void secondBestMatch() {
|
||||
this.method = "secondBestMatch";
|
||||
}
|
||||
|
||||
@MessageMapping("/binding/id/{id}")
|
||||
|
||||
@@ -31,24 +31,13 @@ import static org.junit.Assert.*;
|
||||
*/
|
||||
public class SimpMessageTypeMessageConditionTests {
|
||||
|
||||
@Test
|
||||
public void combineEmptySets() {
|
||||
SimpMessageTypeMessageCondition c1 = condition();
|
||||
SimpMessageTypeMessageCondition c2 = condition();
|
||||
|
||||
assertNull(c1.combine(c2).getMessageType());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void combine() {
|
||||
SimpMessageType actual = condition().combine(condition()).getMessageType();
|
||||
assertNull(actual);
|
||||
|
||||
actual = condition().combine(condition(SimpMessageType.SUBSCRIBE)).getMessageType();
|
||||
SimpMessageType actual = condition(SimpMessageType.MESSAGE).combine(condition(SimpMessageType.SUBSCRIBE)).getMessageType();
|
||||
assertEquals(SimpMessageType.SUBSCRIBE, actual);
|
||||
|
||||
actual = condition(SimpMessageType.SUBSCRIBE).combine(condition()).getMessageType();
|
||||
assertEquals(SimpMessageType.SUBSCRIBE, actual);
|
||||
actual = condition(SimpMessageType.MESSAGE).combine(condition(SimpMessageType.MESSAGE)).getMessageType();
|
||||
assertEquals(SimpMessageType.MESSAGE, actual);
|
||||
|
||||
actual = condition(SimpMessageType.SUBSCRIBE).combine(condition(SimpMessageType.SUBSCRIBE)).getMessageType();
|
||||
assertEquals(SimpMessageType.SUBSCRIBE, actual);
|
||||
@@ -75,9 +64,8 @@ public class SimpMessageTypeMessageConditionTests {
|
||||
@Test
|
||||
public void compareTo() {
|
||||
Message<byte[]> message = message(null);
|
||||
assertEquals(1, condition().compareTo(condition(SimpMessageType.MESSAGE), message));
|
||||
assertEquals(-1, condition(SimpMessageType.MESSAGE).compareTo(condition(), message));
|
||||
assertEquals(0, condition(SimpMessageType.MESSAGE).compareTo(condition(SimpMessageType.MESSAGE), message));
|
||||
assertEquals(0, condition(SimpMessageType.MESSAGE).compareTo(condition(SimpMessageType.SUBSCRIBE), message));
|
||||
}
|
||||
|
||||
private Message<byte[]> message(SimpMessageType messageType) {
|
||||
@@ -88,10 +76,6 @@ public class SimpMessageTypeMessageConditionTests {
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
private SimpMessageTypeMessageCondition condition() {
|
||||
return new SimpMessageTypeMessageCondition();
|
||||
}
|
||||
|
||||
private SimpMessageTypeMessageCondition condition(SimpMessageType messageType) {
|
||||
return new SimpMessageTypeMessageCondition(messageType);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user