Bean contrôleur d'un travail par lots
Une application par lots doit déclarer un bean de session sans état (stateless) spécial dans son descripteur de déploiement. Ce bean agit comme un contrôleur de travail par lots.
Chaque application peut inclure un seul bean contrôleur. Un bean contrôleur ne peut être inclus que dans une seule classe de travail, et une application de traitement par lots ne peut avoir qu'une seule classe de travail définie. Cette classe de travail unique est créée lorsque l'application est installée. Vous pouvez associer cette classe de travail à toute stratégie de service avec un type d'objectif de temps discrétionnaire ou en file d'attente. L'implémentation de ce bean est assurée par le produit, et non par l'application par lots. Le bean doit être déclaré dans le descripteur de déploiement de l'application par lots. Il n'est possible de définir qu'un seul bean contrôleur par application par lots. Les références des ressources et des EJB déclarées sur le bean contrôleur sont à la disposition de tous les flux de données par lots de l'application par lots dans laquelle le bean contrôleur est déclaré. Par exemple, si un flux de données par lots de l'application doit accéder à une source de données WebSphere Application Server, une référence de ressource à cette source de données peut être déclarée sur le bean contrôleur et le flux de données par lots peut rechercher la source de données lors de l'exécution dans l'espace de noms java:comp/env.
Restrictions
- L'interface home doit être com.ibm.ws.batch.BatchJobControllerHome.
- L'interface distante doit être com.ibm.ws.batch.BatchJobController.
- La classe de l'EJB doit être com.ibm.ws.batch.BatchJobControllerBean.
- Le type de transaction peut être bean ou conteneur.
- Le type de session doit être sans état.
- Il ne doit y avoir qu'un seul bean session sans état contrôleur par lots par application par lots.
<session id="BatchController>
<ejb-name>BatchController</ejb-name>
<home>com.ibm.ws.batch.BatchJobControllerHome</home>
<remote>com.ibm.ws.batch.BatchJobController</remote>
<ejb-class>com.ibm.ws.batch.BatchJobControllerBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Bean</transaction-type>
<resource-ref id="ResourceRef_1117024737807">
<description></description>
<res-ref-name>wm/BatchWorkManager</res-ref-name>
<res-type>commonj.work.WorkManager</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
</session>