是否有用于轮询数据库的JAVA API。
应该可以 a)能够从表中获取所有数据。 b)每隔一段时间对其进行轮询。
答案 0 :(得分:2)
原则上,结合Timer类的JDBC应该足以处理你提出的要求。
Timer API page描述了如何安排可以定期触发的任务。 wikipedia page on Java Database Connectivity包含一个非常好的代码示例,介绍如何查询特定表上的所有数据。将这两个项目捆绑在一起应该可以满足您的需求。
有更复杂的方法可以实现您的需求,例如使用Quartz作为Job Scheduler。但对于这样一个简单的应用程序,我可能会坚持使用内置库。
答案 1 :(得分:1)
从技术上讲,这就是实体bean的作用。
所以,如果您愿意,请在EJB容器中运行您的代码:)我是半严肃的:您可以将其配置为非常轻量级(例如Tomcat + OpenEJB),而ejb 3将不会您的代码依赖于该技术。这样可以避免为此任务编写任何代码。
Sun doc:
调整的重要参数 只读bean是刷新周期, 由部署代表 描述符实体 刷新周期,在秒。对于CMP bean,第一次访问bean 加载bean的状态。首先 刷新期后访问 从数据库重新加载数据。 bean的所有后续使用都使用 新刷新的数据(直到 另一个刷新周期过去了)。对于 BMP bean,一个ejbLoad()方法 现有的交易使用 除非刷新周期,否则缓存数据 已过期(在这种情况下, 容器再次调用ejbLoad()。
此参数启用EJB 组件定期刷新它 数据库的“快照”对其进行评估 代表。如果刷新周期是 小于或等于0,豆是 永远不会从数据库刷新( 默认行为,如果没有刷新周期 给出了。)