Concurrency 如何在WebLogic 10.3中配置工作管理器?

Concurrency 如何在WebLogic 10.3中配置工作管理器?,concurrency,jakarta-ee,weblogic,weblogic-10.x,Concurrency,Jakarta Ee,Weblogic,Weblogic 10.x,我想使用WorkManager在WebLogic 10.3应用程序服务器上安排一些并行作业 我发现Oracle/BEA文档有点零碎,很难理解,而且它没有使用EJB3.0中WorkManager的好例子 具体来说,我想知道: 1) 我到底需要在部署描述符(ejb-jar.xml和friends)中放些什么 2) 我想使用@Resource注释将WorkManager注入EJB3会话bean。我对资源使用什么“名称” 3) 如何为WorkManager配置线程数和其他参数 我的理解是WebLogi

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

我发现Oracle/BEA文档有点零碎,很难理解,而且它没有使用EJB3.0中WorkManager的好例子

具体来说,我想知道:

1) 我到底需要在部署描述符(ejb-jar.xml和friends)中放些什么

2) 我想使用@Resource注释将WorkManager注入EJB3会话bean。我对资源使用什么“名称”

3) 如何为WorkManager配置线程数和其他参数


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

首先,您可以在中找到CommonJ的文档,CommonJ是由BEA Oracle和IBM开发的计时器和工作管理器API的实现。它们提供了一个工作管理器示例,但未在本文档中介绍

1) 我到底需要在部署描述符(ejb-jar.xml和friends)中放些什么

根据该节:

工作经理的定义如下: 通过中的资源引用的服务器级别 适当的部署描述符。 这可以是web.xml或ejb-jar.xml 除其他外

下面是部署描述符 片段演示了如何配置 a
工作经理

...
<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>
...
3) 如何为WorkManager配置线程数和其他参数

有关工作经理的详细信息,请参见元素和的描述

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


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

Weblogic文档将回答您的问题。

看起来1)和2)是同一事物的两个不同版本吗?我假设你只需要做2)是一个纯EJB3应用程序?我也这么认为。但我做了测试1),而不是2)我最终放弃了工作经理,转而采用本文中描述的使用TimerService的方法。更简单、更便携,更适合我的简单需求。
@ResourceRef(jndiName="java:comp/env/wm/MyWorkManager",
auth=ResourceRef.Auth.CONTAINER,
type="commonj.work.WorkManager",
name="MyWorkManager")