I would like to use a WorkManager to schedule some parallel jobs on a WebLogic 10.3 app server.
http://java.sun.com/javaee/5/docs/api/javax/resource/spi/work/WorkManager.html
I’m finding the Oracle/BEA documentation a bit fragmented and hard to follow and it does not have good examples for using WorkManagers from EJB 3.0.
Specifically, I’d like to know:
1) What exactly, if anything, do I need to put in my deployment descriptors (ejb-jar.xml and friends)?
2) I’d like to use the @Resource annotation to inject the WorkManager into my EJB 3 session bean. What “name” do I use for the resource?
3) How do I configure the number of threads and other parameters for the WorkManager.
My understanding is that the underlying implementation on WebLogic is CommonJ, but I’d prefer to use a non-proprietary approach if possible.
First, you’ll find the documentation of CommonJ, an implementation of the Timer and Work Manager API developed by
BEAOracle and IBM, in Timer and Work Manager API (CommonJ) Programmer’s Guide. They provide a Work Manager Example but it’s not injected in this document.According to the Work Manager Deployment section:
Check the WorkManager javadocs for more details (e.g. “The res-auth and res-sharing scopes are ignored in this version of the specification. The EJB or servlet can then use the WorkManager as it needs to.“).
I’d say something like this (not tested):
See the description of the
<work-manager>element and Using Work Managers to Optimize Scheduled Work for detailed information on Work ManagersI don’t have any other suggestion (and, as long as this implementation follows the standards, I wouldn’t mind using it).