Как настроить WorkManagers в WebLogic 10.3?

Я хотел бы использовать WorkManager для планирования некоторых параллельных заданий на сервере приложений WebLogic 10.3.

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

Я нахожу документацию Oracle/BEA немного фрагментированной и трудно следовать, и у нее нет хороших примеров использования WorkManagers из EJB 3.0.

в частности, я хотел бы знать:

1) что именно, если что-нибудь, мне нужно поставить в моих дескрипторах развертывания (ejb-jar.xml и друзья)?

2) я хотел бы использовать аннотацию @Resource для ввода WorkManager в мой компонент сеанса EJB 3. Какое " имя " я использую для ресурса?

3) Как настроить количество потоков и другие параметры для WorkManager.

Я понимаю, что базовая реализация на WebLogic является CommonJ, но я бы предпочел использовать непатентованный подход, если это возможно.

2 ответов


во-первых, вы найдете документацию CommonJ, реализацию API Timer and Work Manager, разработанную пля Oracle и IBM, в таймер и менеджер работы API (CommonJ) руководство программиста. Они предоставляют пример менеджера работы, но он не вводится в этот документ.

1) что именно, если что - нибудь, мне нужно поместить в мои дескрипторы развертывания (ejb-jar.xml и друзья)?

по Развертывание Диспетчера Работ:

менеджеры работы определены на уровень сервера через ресурс-ref в соответствующий дескриптор развертывания. Это может быть web.в XML-или EJB-банку.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>
...

Примечание: рекомендуемый префикс для пространства имен JNDI для WorkManager объекты java: comp/env / wm.

Регистрация администратора заданий javadocs для более подробной информации (например,"области Res-auth и Res-sharing игнорируются в этой версии спецификации. Затем EJB или сервлет могут использовать WorkManager по мере необходимости.").

2) я хотел бы использовать аннотацию @Resource для ввода WorkManager в мой компонент сеанса EJB 3. Какое " имя " я использую для ресурса?

Я бы сказал кое-что вот так (не проверено):

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

3) Как настроить количество потоков и другие параметры для WorkManager.

описание <work-manager> элемент и использование менеджеров работ для оптимизации запланированной работы для получения подробной информации о работе менеджеров

Я понимаю, что базовая реализация на WebLogic является CommonJ, но я бы предпочел использовать непатентованный подходите, если возможно.

у меня нет другого предложения (и, пока эта реализация соответствует стандартам, я бы не возражал использовать его).