use of org.springframework.messaging.handler.annotation.SendTo in project 2017-01-HUDI-MAC-CHAR by NHNNEXT.
the class MessageHandler method broadcasting.
@MessageMapping("/ready/{roomId}")
@SendTo("/from/ready/{roomId}")
public ReadySignal broadcasting(ReadySignal ready, @DestinationVariable long roomId) throws Exception {
log.debug("ReadySignal arrived: /ready/{}, ready: {}", roomId, ready);
Room room = lobby.getRoom(roomId);
room.findByNickname(ready.getUserName()).toggleReady();
if (room.isAllReady()) {
ready.setStartTimer(true);
room.createGameManager();
}
return ready;
}
use of org.springframework.messaging.handler.annotation.SendTo in project 2017-01-HUDI-MAC-CHAR by NHNNEXT.
the class MessageHandler method broadcasting.
@MessageMapping("/access/{roomId}")
@SendTo("/from/access/{roomId}")
public ClientAccess broadcasting(ClientAccess access, @DestinationVariable long roomId) throws Exception {
log.debug("ClientAccess arrived: /access/{}, access: {}", roomId, access);
Room room = lobby.getRoom(roomId);
access.setUsers(room.getUsers());
return access;
}
use of org.springframework.messaging.handler.annotation.SendTo in project 2017-01-HUDI-MAC-CHAR by NHNNEXT.
the class MessageHandler method broadcasting.
@MessageMapping("/gameStart/{roomId}/{userName}")
@SendTo("/from/gameStart/{roomId}/{userName}")
public String broadcasting(GameStart gameStart, @DestinationVariable long roomId, @DestinationVariable String userName) throws Exception {
log.debug("GameStart arrived: /gameStart/{}/{}, gameStart: {}", roomId, userName, gameStart);
Room gameRoom = lobby.getRoom(roomId);
gameRoom.getUsers().forEach(user -> user.gameStart());
return gameRoom.getUserRoleNameInGame(userName);
}
use of org.springframework.messaging.handler.annotation.SendTo in project spring-cloud-stream by spring-cloud.
the class StreamListenerMethodUtils method getOutboundBindingTargetName.
protected static String getOutboundBindingTargetName(Method method) {
SendTo sendTo = AnnotationUtils.findAnnotation(method, SendTo.class);
if (sendTo != null) {
Assert.isTrue(!ObjectUtils.isEmpty(sendTo.value()), StreamListenerErrorMessages.ATLEAST_ONE_OUTPUT);
Assert.isTrue(sendTo.value().length == 1, StreamListenerErrorMessages.SEND_TO_MULTIPLE_DESTINATIONS);
Assert.hasText(sendTo.value()[0], StreamListenerErrorMessages.SEND_TO_EMPTY_DESTINATION);
return sendTo.value()[0];
}
Output output = AnnotationUtils.findAnnotation(method, Output.class);
if (output != null) {
Assert.isTrue(StringUtils.hasText(output.value()), StreamListenerErrorMessages.ATLEAST_ONE_OUTPUT);
return output.value();
}
return null;
}
use of org.springframework.messaging.handler.annotation.SendTo in project spring-cloud-stream by spring-cloud.
the class StreamAnnotationCommonMethodUtils method getOutboundBindingTargetName.
public static String getOutboundBindingTargetName(Method method) {
SendTo sendTo = AnnotationUtils.findAnnotation(method, SendTo.class);
if (sendTo != null) {
Assert.isTrue(!ObjectUtils.isEmpty(sendTo.value()), StreamAnnotationErrorMessages.ATLEAST_ONE_OUTPUT);
Assert.isTrue(sendTo.value().length == 1, StreamAnnotationErrorMessages.SEND_TO_MULTIPLE_DESTINATIONS);
Assert.hasText(sendTo.value()[0], StreamAnnotationErrorMessages.SEND_TO_EMPTY_DESTINATION);
return sendTo.value()[0];
}
Output output = AnnotationUtils.findAnnotation(method, Output.class);
if (output != null) {
Assert.isTrue(StringUtils.hasText(output.value()), StreamAnnotationErrorMessages.ATLEAST_ONE_OUTPUT);
return output.value();
}
return null;
}
Aggregations