javabeans - 30 秒定期任务轮询外部 Web 服务和缓存数据

标签 javabeans xpages lotus-domino

我正在寻求一些关于通过 Domino 服务器端操作每 30 秒轮询一次外部 Web 服务的建议。

简单介绍一下背景...

我们通过 TomTom API 跟踪汽车的位置。我们现在需要在我们的网络应用程序中显示这一点,覆盖到 map (谷歌、必应等)上,并与我们应用程序中的其他经纬度数据混合在一起。将其视为向出租车调度调用,我们希望将这些调用分配给出租车(...这不是出租车\调用,但它是类似的过程)。我们非常积极地刷新调度 Controller 屏幕,这样他们就可以看到所有对象的状态并分配给最近的汽车。如果我们从用户屏幕的刷新中触发数据拉取,我们就会进入一些棘手的控制服务器端,否则我们将达到 TomTom api 每分钟允许的最大请求数。

最初,我打算安排一个代理来轮询 Web 服务,写入我们应用程序中的缓存对象,然后刷新调度 Controller 屏幕从我们的缓存中提取数据......很好,但用户需求是我们的缓存必须每 30 秒更新一次。我可以创建一个每 1 分钟运行一次的程序文档,但仍然不够激进。

所以我们目前剩下的就是:我们的 .net 人员将创建一个服务,每 30 秒轮询一次 TomTom,然后我们从他的服务中检索,或者我想出一种在 Domino 中执行的方法。在 Domino 数据库中而不是在某些独立的 java 应用程序或 .net 中进行操作,将尽可能多的逻辑保留在一个系统 (Domino) 中,这将是一件很好的事情。

我们在系统中大量使用支持 bean。我希望今天晚些时候会对此进行测试,但这看起来是一条明智的路线吗?: Spawning threads in a JSF managed bean for scheduled tasks using a timer ...或者是我不知道它们的局限性,之前有人在 Domino 中解决过这个问题或者有什么意见吗?

提前致谢,

尼克

最佳答案

查看 DOTS(Domino OSGi Tasklet 服务):http://www.openntf.org/internal/home.nsf/project.xsp?action=openDocument&name=OSGI%20Tasklet%20Service%20for%20IBM%20Lotus%20Domino

它允许您在 Domino 服务器上定义后台 Java 任务,这些任务具有代理的所有优点(可以计划或触发),并且没有性能或维护问题。

关于javabeans - 30 秒定期任务轮询外部 Web 服务和缓存数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9702743/

相关文章:

java - 无法通过Java从数据库检索记录

IBM domino Lotus 的 Java 代理

Spring 没有唯一的 bean 类型

google-chrome - listbox.js 或 pickers.js 未从 sv-se 加载,错误 404

java - 在将 XML 映射到 Java Bean 方面需要帮助

lotus - 从文档中获取附件

javascript - Xpages 设置值错误?

c# - Lotus Notes 发送带有选项的电子邮件

java - JavaFX 中的自定义双向绑定(bind)

java - 在方法期间创建 bean 的多个实例