java – Atmosphere / Jersey双向对话
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – Atmosphere / Jersey双向对话,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1354字,纯文字阅读大概需要2分钟。
内容图文
![java – Atmosphere / Jersey双向对话](/upload/InfoBanner/zyjiaocheng/699/7d2a194d14cd4a25a9932bf23f506225.jpg)
我已经看过很多大气的例子,包括pub-sub.我想做像pub-sub这样的事情(客户端订阅该客户端独有的频道;服务器定期发布到该频道),除了客户端也将数据发送到服务器.客户端将发送数据以响应服务器发送的数据,并且在其他情况下,当服务器需要知道的客户端上发生重要事件时(服务器不需要确认).
甚至可以用Atmosphere做到这一点吗?
它可能看起来像这样:
@Stateless
@Path("/id/{clientId}/key/{clientKey}")
public class MyService {
@POST
@Produces("application/xml")
@Consumes("application/xml")
@Suspend
public StreamingOutput subscribe(@PathParam("clientId") String clientId,
@PathParam("clientKey") String clientKey,
@Context Broadcaster broadcaster,
InputStream body) {
if (!authenticate(clientId, clientKey) {
throw new WebApplicationException(401);
}
broadcaster.setID(clientId);
// Do something here... Not sure what
}
}
但这里有几个问题:
>传入连接将暂停,因此除非通过广播恢复,否则它将无法向服务器发送任何内容;
>任何使用InputStream都会导致阻塞I / O,这会破坏使用Atmosphere的目的.
这两个问题都可以通过删除@Suspend来解决,但后来我处于线程连接情况.
我觉得Atmosphere不会成为合适的技术,也许我可能需要做一些更低级别的事情.但我不知道该怎么做.想法?
编辑:
无论如何,我找不到异步解析XML的简单方法,所以整个事情看起来不像是可以异步完成的事情.
解决方法:
萨吕,
只是广播一个Callable来执行异步XML解析.看一下这个样本:
让我知道它是怎么回事(在这里或在atmosphere-framework@googlegroups.com)
谢谢
– Jeanfrancois
内容总结
以上是互联网集市为您收集整理的java – Atmosphere / Jersey双向对话全部内容,希望文章能够帮你解决java – Atmosphere / Jersey双向对话所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。