Использование реализации CommonJ с GlassFish и Spring 3

В своем стремлении объединить развертывание в средах Websphere 7 и GlassFish 3 я решил попробовать внедрить CommonJ WorkManager и TimerManager в GlassFish. Но это не совсем работает, как ожидалось. Я сделал следующее:

Используйте реализацию myFOO CommonJ, найденную по адресу:http://commonj.myfoo.de/ и включить библиотеки в папку моего домена / lib (включая библиотеки Spring)

Добавлено следующее к<resources>&nbsp;раздел glassfish domain.xml:

<custom-resource res-type="commonj.work.WorkManager" jndi-name="wm/default" factory-class="de.myfoo.commonj.work.FooWorkManagerFactory"></custom-resource>
<custom-resource res-type="commonj.timers.TimerManager" jndi-name="tm/default" factory-class="de.myfoo.commonj.timers.FooTimerManagerFactory"></custom-resource>

Включить ссылки в<servers>/<server>&nbsp;раздел домена.xml:

  <resource-ref ref="wm/default"></resource-ref>
  <resource-ref ref="tm/default"></resource-ref>

Добавьте соответствующие ссылки на ресурсы в web.xml моего тестового приложения:

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

<resource-ref>
    <description>TimerManager</description>
    <res-ref-name>tm/default</res-ref-name>
    <res-type>commonj.timers.TimerManager</res-type>
    <res-auth>Container</res-auth>
    <res-sharing-scope>Unshareable</res-sharing-scope>
</resource-ref>

Добавьте следующие bean-компоненты в мой applicationContext.xml:

<bean id="threadTestTaskExecutor" class="org.springframework.scheduling.commonj.WorkManagerTaskExecutor"> 
    <property name="workManagerName" value="wm/default" />
    <property name="resourceRef" value="true"/>
</bean>

<bean id="threadTestTimerExecutor" class="org.springframework.scheduling.commonj.TimerManagerTaskScheduler"> 
    <property name="timerManagerName" value="tm/default" />
    <property name="resourceRef" value="true" />
    <property name="shared" value="false" />
</bean>

<bean id="threadTest" class="test.ThreadTester"></bean>

<task:scheduled-tasks scheduler="threadTestTimerExecutor">
    <task:scheduled ref="threadTest" method="execute" fixed-delay="30000" />  <!-- 30 seconds -->
</task:scheduled-tasks>

После всей этой настройки все загружает поиск и веб-приложение запускается; однако класс ThreadTester не запускается на таймере.

Я прошел через код myFOO, и основной цикл TimerManager (FooTimerManager.java) работает, просто кажется, что он никогда не распознает, что каждые 30 секунд он должен запускать класс.

Мои вопросы:

Кто-нибудь имел опыт реализации JSR 236/237 (CommonJ) со GlassFish 3 и Spring?

Есть ли другая реализация, отличная от myFOO, которую я мог бы использовать и попробовать? Кто-нибудь пытался сделать то, что я сделал? Хотели бы вы поделиться своими результатами, если бы вам это удалось?

Спасибо!

Изменить 1:

Я забыл упомянуть, что используя реализацию myFOO CommonJ с GlassFishделает&nbsp;работать, насколько это касается WorkManager. Что значитне&nbsp;работа TimerManager. Это означает, что я могу запускать потоки по требованию просто отлично, но сработавшее планирование не работает.

Изменить 2:

После обновления до GlassFish 3.1.1 реализация TimeFManager myFOO CommonJ работает нормально. Так здорово! Этот вопрос теперь больше похож на HOWTO Guide.