java - 轮询服务器以在 Java 客户端中获取数据的替代方案?

标签 java http cakephp asynchronous

我的 Java 应用程序需要从服务器获取数据(在 nginx 上运行 CakePHP)。有没有另一种方法可以在没有轮询服务器的情况下获取数据?目前我正在使用持久的 HTTP 连接并每隔 X 秒轮询一次服务器以查看是否有任何数据可用。

如果它是一个网络浏览器,我就可以使用网络套接字。我们在 Java 中有哪些选择?

最佳答案

如果您可以实现某种 Java 消息系统 (JMS),例如 ActiveMQ、RabbitMQ、WebsphereMQ 等,那么您就可以监听发布到客户端的消息。当然,您的 Java 应用程序仍然有效地轮询消息,但性能会比 HTTP 请求好得多。

Spring 框架在 JMS 实现上提供了一些出色的抽象,因此您不必担心管道问题。您可以使用简单的 JmsTemplate或使用 Spring Integration作为两个选项

关于java - 轮询服务器以在 Java 客户端中获取数据的替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11149188/

相关文章:

java - Java上最基本的HttpGet请求

java - JFrame 不添加 TabbedPane

javascript - Ajax 请求是否保证发送 cookie?

mysql - 为我的应用程序构建 MVC 的正确方法

php - 如何阻止 CakePHP 在输出中放置注释标签

java - 将罗马数字转换为整数值?

Java位操作: replacing nibble of hex

node.js - 即使服务器返回重定向(3XX),HTTP 客户端也会向服务器发送请求主体吗?

iOS9 应用传输安全

mysql - CakePHP 的内存分配问题