在this example中,有没有办法修改此方法
@org.atmosphere.config.service.Message(encoders = {JacksonEncoder.class}, decoders = {JacksonDecoder.class})
public Message onMessage(Message message) throws IOException {
logger.info("{} just send {}", message.getAuthor(), message.getMessage());
return message;
}
所以我可以获得UUID(在连接时在AtmosphereResource
中可用),以便我知道消息来自哪个连接?我尝试添加AtmosphereResource
参数,但它不起作用(没有收到消息)。
答案 0 :(得分:4)
实际上,AtmosphereResource
参数可以添加到onMessage
。它必须是第一个参数。 (我试图将它添加为第二个参数,但它不起作用。)
所以问题中的方法可以改为:
@org.atmosphere.config.service.Message(encoders = {JacksonEncoder.class}, decoders = {JacksonDecoder.class})
public Message onMessage(AtmosphereResource r, Message message) throws IOException {
// TODO: Look up any info associated with the connection using r.uuid().
logger.info("{} just send {}", message.getAuthor(), message.getMessage());
return message;
}