hal*_*ave 6 concurrency weblogic java-ee weblogic-10.x
我想使用WorkManager在WebLogic 10.3应用服务器上安排一些并行作业.
http://java.sun.com/javaee/5/docs/api/javax/resource/spi/work/WorkManager.html
我发现Oracle/BEA文档有点碎片化且难以理解,并且它没有很好的例子来使用EJB 3.0中的WorkManagers.
具体来说,我想知道:
1)我需要在部署描述符(ejb-jar.xml和朋友)中放入什么(如果有的话)?
2)我想使用@Resource注释将WorkManager注入我的EJB 3会话bean.我使用什么"名称"作为资源?
3)如何配置WorkManager的线程数和其他参数.
我的理解是WebLogic上的底层实现是CommonJ,但如果可能的话,我更愿意使用非专有方法.
首先,您将在Timer和Work Manager API(CommonJ)程序员指南中找到CommonJ的文档,这是BEA Oracle和IBM 开发的Timer和Work Manager API的实现.它们提供了工作管理器示例,但未在本文档中注入.
1)我需要在部署描述符(ejb-jar.xml和朋友)中放入什么(如果有的话)?
根据工作管理器部署部分:
工作管理器通过适当的部署描述符中的resource-ref在服务器级别定义.这可以是web.xml或ejb-jar.xml等.
以下部署描述符片段演示了如何配置
WorkManager:Run Code Online (Sandbox Code Playgroud)... <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")
Run Code Online (Sandbox Code Playgroud)
3)如何配置WorkManager的线程数和其他参数.
有关工作管理器的详细信息,请参阅<work-manager>元素说明和使用工作管理器优化计划工作
我的理解是WebLogic上的底层实现是CommonJ,但如果可能的话,我更愿意使用非专有方法.
我没有任何其他建议(并且,只要此实现遵循标准,我不介意使用它).
| 归档时间: |
|
| 查看次数: |
16829 次 |
| 最近记录: |