编程语言
首页 > 编程语言> > java-获取与Atmosphere @ManagedService消息关联的连接

java-获取与Atmosphere @ManagedService消息关联的连接

作者:互联网

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参数,但是它不起作用(没有收到消息).

解决方法:

实际上,可以将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;
}

标签:uuid,atmosphere,java
来源: https://codeday.me/bug/20191029/1960494.html