管理自动创建的 EJB 持久性计时器

应用程序或模块在 XML 部署描述符中使用 javax.ejb.Schedule 注释或 schedule 元素来指示应用程序服务器自动创建 EJB 计时器。已提供 MBean 以管理自动创建的 EJB 持久性计时器的创建。

关于此任务

首次在服务器进程中启动应用程序时,Liberty 服务器为该应用程序创建 EJB 自动持久性计时器。计时器及说明已创建计时器的指示存储在与 PersistentExecutor 相关联的数据库中,PersistentExecutor 是针对 EJB 计时器服务配置的。对应用程序创建自动创建的持久性计时器后,在执行操作以从数据库中专门清除用于说明已创建这些计时器的指示之前,不会再次创建这些计时器。即使移除应用程序的所有自动创建的计时器,在说明已创建这些计时器的指示也被移除之前,Liberty 服务器不会创建其中任何计时器。

可通过手动清除计时器数据库或使用 EJB 计时器服务 MBean 来清除说明已创建自动创建的计时器的指示。可通过程序使用 EJB 计时器服务 MBean,也可通过 JConsole 之类的工具使用此 MBean。EJB 计时器服务 MBean 的接口为:com.ibm.websphere.ejbcontainer.mbean.EJBPersistentTimerServiceMXBean

过程

  1. 配置应用程序服务器以包含一个 EJB 功能部件,该功能部件支持持久性计时器及 server.xml 文件中的余下连接器。
    <featureManager>
         <feature>servlet-3.1</feature>
         <feature>ejbPersistentTimer-3.2</feature>
         <feature>jdbc-4.1</feature>
         <feature>restConnector-1.0</feature>
    </featureManager>
  2. 配置应用程序服务器以在 server.xml 文件中添加 EJB 计时器服务的数据源。
    <dataSource id="DefaultDataSource" jdbcDriverRef="DerbyEmbedded">
         <properties.derby.embeddedcreateDatabase="create" databaseName="${server.config.dir}/data/EJBTimerDB"/>
    </dataSource>
    <jdbcDriver id="DerbyEmbedded" libraryRef="DerbyLib"/>
    <library id="DerbyLib">
         <filename="${server.config.dir}/derby/derby.jar"/>
    </library>
  3. 获取 MBean 服务器连接。
  4. 获取 EJB 持久性计时器服务 MBean。
    import javax.management.MBeanServerConnection;
    import avax.management.ObjectName;
    import com.ibm.websphere.ejbcontainer.mbean.EJBPersistentTimerServiceMXBean;
    ...
    MBeanServerConnection mbsc = <step #3>;
    ObjectName on = new
    ObjectName("WebSphere:feature=ejbPersistentTimer,type=EJBPersistentTimerService,name=EJBPersistentTimerService");
    EJBPersistentTimerServiceMXBean timerServiceMBean =
         JMX.newMXBeanProxy(mbsc, on, EJBPersistentTimerServiceMXBean.class);
  5. 移除应用程序的自动创建的持久性计时器。
    timerServiceMBean.removeAutomaticTimers("<application name>");

    MBean 上的 removeAutomaticTimers() 方法同时移除自动创建的计时器及说明已创建这些计时器的指示。下次服务器启动该应用程序时,将创建这些自动创建的持久性计时器。


用于指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: Tuesday, 6 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_ejb_perstimer_manage_auto
文件名:twlp_ejb_perstimer_manage_auto.html