Java 使用Quartz轮询外部服务并通过Atmosphere将结果发送给客户端?

Java 使用Quartz轮询外部服务并通过Atmosphere将结果发送给客户端?,java,quartz-scheduler,atmosphere,Java,Quartz Scheduler,Atmosphere,我有一个任务,我需要在未来两周内完成,我目前正在计划它。我需要知道这是否会起作用,我认为它可能会起作用 这是我目前的设置 服务器A——有一个REST接口与外部服务通信(提供有关外部资源的信息) 客户端B——将连接到服务器A(基本上提供一个UI) 问题: 我需要从服务器A到客户端B获取“活动实时更新” 我的解决方案: 我想在服务器和客户端上进行设置。客户端将订阅服务器,服务器将推出新信息 我正在考虑使用Quartz定期轮询服务器A上的外部资源,以允许到客户端B的恒定通信流(可能每10-20秒左右一

我有一个任务,我需要在未来两周内完成,我目前正在计划它。我需要知道这是否会起作用,我认为它可能会起作用

这是我目前的设置

服务器A——有一个REST接口与外部服务通信(提供有关外部资源的信息)

客户端B——将连接到服务器A(基本上提供一个UI)

问题: 我需要从服务器A到客户端B获取“活动实时更新”

我的解决方案

我想在服务器和客户端上进行设置。客户端将订阅服务器,服务器将推出新信息

我正在考虑使用Quartz定期轮询服务器A上的外部资源,以允许到客户端B的恒定通信流(可能每10-20秒左右一次)

这个设置听起来可行吗?有更好的方法吗?

您希望如何进行“实时更新”? 如果你想每10-20秒更新一次,那么使用atmosphere就太过分了。WebSocket可在10-100毫秒内提供实时更新。 要每10秒更新一次,您不需要/不希望客户端和服务器之间保持连续连接。若您使用的是Atmosphere(推送意味着您不需要轮询),那个么将Quartz用于轮询服务器也是毫无意义的


使用服务器A作为http REST端点,在客户端B上使用一些http客户端库,如scheduleAtFixedRate方法,每10秒获取一次数据。

我想理想情况下我们希望进行即时通信,但我的意思是服务器A将使用quartz轮询外部服务,服务器A和服务器B将通过大气进行通信。在这种情况下,您的设置就足够了。