我对从Domino服务器端操作每30秒轮询一次外部Web服务提出了一些建议。30秒周期性任务,用于轮询外部Web服务和缓存数据
背景的快一点......
我们跟踪汽车的直通TomTom的API的位置。我们现在有要求在我们的网络应用程序中显示此信息,并将其覆盖到地图上(谷歌,bing等),并与我们的应用程序中的其他数据混合在一起。把它看作是派遣出租车的电话,我们想把这些电话分配给出租车(......它不是出租车\电话,但它是类似的过程)。我们相当积极地刷新调度控制器屏幕,以便他们可以查看所有对象的状态并将其分配给最近的车辆。如果我们触发用户屏幕刷新中的数据拉取,我们会进入一些棘手的控制服务器端,否则我们会每分钟向TomTom API发出最大允许请求数。
本来我打算安排一个代理来轮询Web服务,写入我们的应用程序中的缓存对象,刷新调度控制器屏幕从我们的缓存中提取数据....很好,除了用户要求是我们的缓存必须每30秒更新一次。我可以创建一个每1分钟运行一次的程序文档,但仍然不够积极。
所以我们目前只剩下:我们的.NET家伙会创建一个民意调查的TomTom每30secs,我们从他的服务检索服务,或我想出一个办法,在Domino中的事。在Domino数据库中执行这些操作是非常好的,而不是一些独立的java应用程序或.net,以便在一个系统(Domino)中保留尽可能多的逻辑。
我们在系统中大量使用备份bean。我会在这以后的今天,我希望测试,但这样做似乎是一个明智的路线走下来..? Spawning threads in a JSF managed bean for scheduled tasks using a timer ...或者是他们的局限性,我不知道,有没有人在之前的Domino该解决或有任何意见?
由于提前,
尼克
Tim,Niklas,Tommy, – 2012-03-15 08:55:34
Tim,@Niklas,Tommy,非常感谢您的回复,也感谢jjtbsomhorst。 3个Domino \ Xpages最大的打击者回答我的问题......几乎可以保证建议是一流的。现在你已经给了我解决方案,我会在一周左右的时间内回复,并告诉你如何去做。再次感谢。 – 2012-03-15 09:07:42