title: How to get a JCA Workmanager on Websphere 8 for Springs WorkManagerTaskExecutor
body: <p>We use an Websphere 8 Application Server and I want to use the servers workmanager in our webapplication. I am trying to get a reference to a jca workmanager <code>javax.resource.spi.work.Workmanager</code> to use it with Springs <code>org.springframework.jca.work.WorkManagerTaskExecutor</code>.</p>
  
  <p>The resource-ref in the web.xml looks like this:</p>
  
  <pre><code>&lt;resource-ref&gt;
   &lt;res-ref-name&gt;workmanager/web&lt;/res-ref-name&gt;
   &lt;res-type&gt;javax.resource.spi.work.WorkManager&lt;/res-type&gt;
   &lt;res-auth&gt;Container&lt;/res-auth&gt;
   &lt;res-sharing-scope&gt;Shareable&lt;/res-sharing-scope&gt;
  &lt;/resource-ref&gt;
  </code></pre>
  
  <p>Using that configuration, i get the following exception:</p>
  
  <pre><code>Caused by: com.ibm.ws.asynchbeans.exception.AsynchBeanException: ASYN0064E: The value javax.resource.spi.work.WorkManager of the res-type resource reference element WorkManager is not right. Only the following values are allowed: com.ibm.websphere.asynchbeans.WorkManager, commonj.work.WorkManager.
  at com.ibm.ws.asynchbeans.naming.WorkManagerFactory.validateWMResRef(WorkManagerFactory.java:379)
  at com.ibm.ws.asynchbeans.naming.WorkManagerFactory.getObjectInstance(WorkManagerFactory.java:147)
  at org.apache.aries.jndi.ObjectFactoryHelper$7.run(ObjectFactoryHelper.java:338)
  at java.security.AccessController.doPrivileged(AccessController.java:362)
  at org.apache.aries.jndi.Utils.doWithRestoredPrivileges(Utils.java:155)
  at org.apache.aries.jndi.ObjectFactoryHelper.getObjectInstanceUsingObjectFactoryBuilders(ObjectFactoryHelper.java:336)
  at org.apache.aries.jndi.ObjectFactoryHelper.doGetObjectInstance(ObjectFactoryHelper.java:136)
  at org.apache.aries.jndi.ObjectFactoryHelper.access$000(ObjectFactoryHelper.java:60)
  at org.apache.aries.jndi.ObjectFactoryHelper$1.run(ObjectFactoryHelper.java:98)
  at java.security.AccessController.doPrivileged(AccessController.java:327)
  at org.apache.aries.jndi.Utils.doPrivileged(Utils.java:146)
  at org.apache.aries.jndi.ObjectFactoryHelper.getObjectInstance(ObjectFactoryHelper.java:96)
  at org.apache.aries.jndi.OSGiObjectFactoryBuilder.getObjectInstance(OSGiObjectFactoryBuilder.java:57)
  at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:349)
  at com.ibm.ws.naming.util.Helpers.processSerializedObjectForLookupExt(Helpers.java:993)
  ... 89 more
  </code></pre>
  
  <p>It says here my resource-ref must be of the type <code>com.ibm.websphere.asynchbeans.WorkManager</code> or <code>commonj.work.WorkManager</code>. Neither of them extends from the JCA-Workmanager-Interface.</p>
  
  <p>If I switch the resource type to <code>commonj.work.WorkManager</code> and use Springs <code>org.springframework.scheduling.commonj.WorkManagerTaskExecutor</code> in my application, everything works fine.</p>
  
  <p>To get a JCA Workmanager working with Websphere, do I need to configure something special on server-side? I havent found any setting in the admin-console to switch the implementation. Websphere 8 supports Java EE 6, so it should be able to deal with JCA.</p>