【问题标题】:How to use WorkManager with GlassFish 3?如何在 GlassFish 3 中使用 WorkManager?
【发布时间】:2010-12-02 10:52:38
【问题描述】:

我需要从 GlassFish 服务器中的 servlet 启动后台任务,并且我认为 WorkManager 是一种与 Java EE 兼容的方式来实现这一点。

以前在 Glassfish v2 中它运行得相当好:我使用静态方法 WorkManagerFactory.createWorkManager(String poolName),它给了我一个 WorkManager,我可以用它来启动一个带有 startWork(Work) 的工作。

在 GlassFish v3.0.1 中,API 发生了变化:WorkManagerFatory 中不再有静态 createWorkManager() 方法,并且 createWorkManager 采用 2 个额外参数:资源适配器名称和 ClassLoader。我很困惑:我现在应该如何获得 WorkManager??

我尝试自己实例化 WorkManagerFactory 并调用 createWorkManager(),但出现以下异常:

资源适配器 [ jmsra ] 的工作管理器实例化期间发生错误 java.lang.NullPointerException 在 com.sun.enterprise.connectors.work.WorkManagerFactory.getConnectorRuntime(WorkManagerFactory.java:202) 在 com.sun.enterprise.connectors.work.WorkManagerFactory.createWorkManager(WorkManagerFactory.java:122)

至少可以说,关于这个主题的可用文档非常少......所以任何帮助都将不胜感激。

【问题讨论】:

    标签: java jakarta-ee glassfish workmanagers


    【解决方案1】:

    不管怎样,我最终还是使用了 Spring 的 TaskExecutor API,它的优点是让我可以选择要使用的实现。像魅力一样工作。

    界面与 WorkManager 足够接近,因此我几乎不需要对代码进行更改。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-19
      • 1970-01-01
      • 2011-08-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-15
      相关资源
      最近更新 更多