On Friday, July 25, 2003, at 03:08 PM, Sebastien LAYER wrote:

Bonjour,

Je d�veloppe actuellement une application J2EE sur une plate-forme Weblogic 7.0 SP2. Je suis confront� un probl�me technique.

Je voudrais que mon application lance (sans �tre appel� par le client, ni par une t�che externe au conteneur j2ee) des t�ches en background � heure fixe (heure configurable en base et pouvant changer r�guli�rement).
L'id�al serait un service de Timer. Mais dans l'ensemble de mes recherches que se soit Weblogic Time Service ou JMX, je ne trouve aucun moyen technique que me permettrait d'assouvir mon besoin sans passer par une application externe au conteneur.

S�bastien Layer



Salut,

Sous WLS, tu peux (comme l'a dit Jerome) developper un MBean qui sera ton timer ou une classe qui
herite de T3StartupDef que tu lances au demarrage de WLS.
La facon dont j'ai fait cela dans mon dernier projet: une classe qui au demarrage scrutait un repertoire
dans lequel etaient places des fichiers de config (plus bas) qui disaient, par exemple, a telle heure
de tel jour, appelle telle methode sur tel EJB ou envoit un message JMS dans tel canal.
L'implementation est facile, juste a parser n fichiers de config et toutes les n secondes verifier les conditions
et executer l'action.

Ca ressemblait plus ou moins a ca:

<Timer-Service>
<Service-To-Invoke>
<service-desc>sample.xml</service-desc>
<jndi-name>pdcs.BatchBeanRemote</jndi-name>
</Service-To-Invoke>
<Timer-Info>
<!-- Pattern: dd/MM/YY -->
<start-date>12/08/02</start-date>
<start-time>16:50</start-time>
<!-- In milliseconds -->
<interval>5000</interval>
<!-- Pattern: dd/MM/YY -->
<end-date>12/09/02</end-date>
<end-time>20:00</end-time>
</Timer-Info>
</Timer-Service>

Thierry Janaudy
http://www.janaudy.com/

Répondre à