从REST服务访问websocket @endpoint

时间:2016-10-20 16:31:00

标签: rest websocket

我在Jboss上运行了@ServerEndpoint,它持有websocket连接。客户不希望通过@ServerEndpoint的@onMessage完成数据推送,而是希望向某个REST端点发送POST请求,然后将数据推送到websocket连接(是的,我也没有得到它)​​。所以我的问题是;我可以从REST端点获取websocket会话,而无需打开服务器到服务器连接到@ServerEndpoint(因此用户的安全上下文被破坏)?

所以我需要这样的东西:

@Controller
@Path("/path")
public class WebsocketController {

@GET
public void doPost(String text) {
    //somehow get all websocket connections to the @ServerEndpoint
    //then for all sessions do: 
    session.getBasicRemote().sendText(text);
    }
}

任何明智的解决方案都会放在@ServerEndpoint的@OnMessage方法中

1 个答案:

答案 0 :(得分:0)

我最后得到了一个同步的Sessions列表,我在@OnOpen og @OnClose上维护它,它保存所有打开的连接。然后我从REST端点推送到这些连接。