【问题标题】:How do you configure WorkManagers in WebLogic 10.3?如何在 WebLogic 10.3 中配置 WorkManager?
【发布时间】:2009-09-24 11:27:27
【问题描述】:

我想使用 WorkManager 在 WebLogic 10.3 应用服务器上安排一些并行作业。

http://java.sun.com/javaee/5/docs/api/javax/resource/spi/work/WorkManager.html

我发现 Oracle/BEA 文档有点零散且难以理解,并且没有很好的示例来使用 EJB 3.0 中的 WorkManager。

具体来说,我想知道:

1) 我需要在我的部署描述符(ejb-jar.xml 和朋友)中添加什么(如果有的话)?

2) 我想使用 @Resource 注释将 WorkManager 注入我的 EJB 3 会话 bean。我为资源使用什么“名称”?

3)如何配置WorkManager的线程数等参数。

我的理解是,WebLogic 的底层实现是 CommonJ,但如果可能的话,我更愿意使用非专有的方法。

【问题讨论】:

  • 我最终放弃了工作管理器,转而使用本文中描述的 TimerService 方法。 devx.com/Java/Article/33694/1954 更简单、更便携,更适合我的简单需求。

标签: concurrency jakarta-ee weblogic weblogic-10.x


【解决方案1】:

首先,您可以在Timer and Work Manager API (CommonJ) Programmer’s Guide 中找到 CommonJ 的文档,这是由 BEA Oracle 和 IBM 开发的 Timer and Work Manager API 的实现。他们提供了一个工作管理器示例,但未在本文档中注入。

1) 我需要在我的部署描述符(ejb-jar.xml 和朋友)中添加什么(如果有的话)?

根据Work Manager Deployment 部分:

工作经理在 服务器级别通过资源引用 适当的部署描述符。 这可以是 web.xml 或 ejb-jar.xml 等等。

以下部署描述符 片段演示如何配置 WorkManager:

...
<resource-ref>
   <res-ref-name>wm/MyWorkManager</res-ref-name>
   <res-type>commonj.work.WorkManager</res-type>
   <res-auth>Container</res-auth>
   <res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
...

注意: WorkManager 的 JNDI 命名空间的推荐前缀 对象是 java:comp/env/wm。

查看WorkManager javadocs 以获取更多详细信息(例如,“此版本的规范中忽略了 res-auth 和 res-sharing 范围。然后 EJB 或 servlet 可以根据需要使用 WorkManager。 ”)。

2) 我想使用 @Resource 注释将 WorkManager 注入我的 EJB 3 会话 bean。我为资源使用什么“名称”?

我会这样说(未经测试):

@ResourceRef(jndiName="java:comp/env/wm/MyWorkManager",
auth=ResourceRef.Auth.CONTAINER,
type="commonj.work.WorkManager",
name="MyWorkManager")

3)如何配置WorkManager的线程数等参数。

有关工作管理器的详细信息,请参阅 &lt;work-manager&gt; 元素和 Using Work Managers to Optimize Scheduled Work 的描述

我的理解是 WebLogic 上的底层实现是 CommonJ,但如果可能的话,我更愿意使用非专有的方法。

我没有任何其他建议(而且,只要这个实现符合标准,我不介意使用它)。

【讨论】:

  • 看起来 1) 和 2) 是同一事物的两个不同版本?我假设您只需要做 2) 是纯 EJB 3 应用程序吗?
  • 我也这么认为。但我确实测试了 1),而不是 2)
【解决方案2】:

Weblogic 文档将回答您的问题。 Using Work Managers to Optimize Scheduled Work

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-01
    相关资源
    最近更新 更多