我正在寻求一些关于从 Domino 服务器端操作每 30 秒轮询一次外部 Web 服务的建议。
快速了解一下背景...
我们通过 TomTom API 跟踪汽车的位置。我们现在需要在我们的网络应用程序中显示这一点,覆盖到地图(谷歌、必应等)上,并与我们应用程序中的其他经纬度数据混合在一起。将其视为向出租车调度呼叫,我们希望将这些呼叫分配给出租车(...这不是出租车\呼叫,但它是类似的过程)。我们非常积极地刷新调度控制器屏幕,这样他们就可以看到所有对象的状态并分配给最近的汽车。如果我们从用户屏幕的刷新中触发数据拉取,我们就会陷入一些棘手的控制服务器端,否则我们将达到 TomTom api 每分钟允许的最大请求数。
最初,我打算安排一个代理来轮询 Web 服务,写入我们应用程序中的缓存对象,然后刷新调度控制器屏幕从我们的缓存中提取数据......很好,除了,用户要求我们的缓存必须是每 30 秒更新一次。我可以创建一个每 1 分钟运行一次的程序文档,但仍然不够激进。
所以我们目前剩下的就是:我们的 .net 人员将创建一个服务,每 30 秒轮询一次 TomTom,然后我们从他的服务中检索,或者我想出一种在 Domino 中执行的方法。在 Domino 数据库中而不是在某些独立的 java 应用程序或 .net 中进行操作,将尽可能多的逻辑保留在一个系统 (Domino) 中,这将是一件很好的事情。
我们在系统中大量使用支持 bean。我希望今天晚些时候会对此进行测试,但这似乎是一条明智的路线……?:使用计时器在 JSF 托管 Bean 中为计划任务生成线程 https://stackoverflow.com/questions/7499534/applicationscope-bean-that-uses-a-timertask-sheduler-good-or-bad...或者是我不知道它们的局限性,是否有人以前在 Domino 中解决过这个问题或有任何评论?
提前致谢,
Nick
查看 DOTS(Domino OSGi Tasklet 服务):
它允许您在 Domino 服务器上定义后台 Java 任务,这些任务具有代理程序的所有优点(可以计划或触发),并且没有性能或维护问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)