开发企业 Bean (EJB) 持久性计时器应用程序
EJB 持久性计时器由容器自动创建或由应用程序通过程序创建。两种类型的持久性计时器存储在数据库内的一些表中,此数据库是针对 server.xml 文件中的 EJB 计时器服务配置的。
关于此任务
创建持久性计时器后,它存在于数据库中直到发生下列其中一种情况:
- 未对此计时器安排更多到期时间;例如,在单一操作计时器到期和成功运行后。
- 应用程序取消了该计时器。
- 通过使用 EJB 计时器服务 MBean (EJBPersistentTimerServiceMXBean) 取消了该计时器
- 已从数据库中手动移除该计时器。例如,如果计时器服务数据库已清除或移除。
而且,应注意 EJB 持久性计时器已根据应用程序名称、模块名称和 bean 名称与 EJB 相关联。如果应用程序已更新,并且其中任何名称更改,那么计时器将继续在数据库中存在,但显示为不再存在(因为它不再到期和运行)。
Enterprise JavaBeans 规范声明自动计时器由容器在部署应用程序时创建。对于 Liberty,应用程序首次在服务器进程中启动时出现此情况。第一个应用程序启动时,自动创建的持久性计时器存储在持久性计时器数据库中,并带有一个指示,说明已部署应用程序。容器不会再次创建自动持久性计时器,直到计时器和有关说明已部署应用程序的指示从 EJB 持久性计时器数据库中移除。
过程
在 server.xml 文件中启用 EJB 持久性计时器功能部件;例如:
<featureManager>
<feature>ejbPersistentTimer-3.2</feature>
</featureManager>