IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Spring Java Discussion :

scheduler quartz bean [Batch]


Sujet :

Spring Java

  1. #1
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Points : 2 336
    Points
    2 336
    Par défaut scheduler quartz bean
    hello,

    j aimerais automatisé du traitement BU a l aide de quartz et j aimerais savoir si
    l utilisation de ceci suffit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail" ref="exampleJob" />
        <!-- run every morning at 6 AM -->
        <property name="cronExpression" value="0 0 6 * * ?" />
    </bean>
    ou je créer une classe exempleJob et la définit comme tel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <bean name="exampleJob" class="org.springframework.scheduling.quartz.JobDetailBean">
      <property name="jobClass" value="example.ExampleJob" />
      <property name="jobDataAsMap">
        <map>
          <entry key="timeout" value="5" />
        </map>
      </property>
    </bean>

  2. #2
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    as-tu prévu les cas de plantage ?

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Points : 2 336
    Points
    2 336
    Par défaut
    dans mes business service qui seront appellés il y a du business log qui est fait lors de plantage afin de journalisé le tout

    c est de ca que tu veux parler ?

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Points : 2 336
    Points
    2 336
    Par défaut
    J ai tenté d intégrer Quartz dans mon application web en définissant comme indiqué au dessus mes beans

    et en spécifiant la cron expression
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <property name="cronExpression" value="0 * * * * *" />
    (cela devrait s executé chaque minute si j ai bien compris)

    j ai également modifié mon web.xml pour indiqué QuartzInitializerServlet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
      <servlet>
         <servlet-name>QuartzInitializer</servlet-name>
         <display-name>Quartz Initializer Servlet</display-name>
      <servlet-class>
        org.quartz.ee.servlet.QuartzInitializerServlet
      </servlet-class>
      <load-on-startup>1</load-on-startup>
      <init-param>
        <param-name>shutdown-on-unload</param-name>
        <param-value>true</param-value>
      </init-param>
      <init-param>
        <param-name>start-scheduler-on-load</param-name>
        <param-value>true</param-value>
        </init-param>
     </servlet>
    puis j ai créer une petite classe de test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    package com.mtsa.ebonus.scheduler;
     
    import org.quartz.JobExecutionContext;
    import org.quartz.JobExecutionException;
    import org.springframework.scheduling.quartz.QuartzJobBean;
     
    public class TestJob extends QuartzJobBean{
     
    	  private int timeout;
     
    	  /**
               * Setter called after the ExampleJob is instantiated
               * with the value from the JobDetailBean (5)
               */ 
    	  public void setTimeout(int timeout) {
    	    this.timeout = timeout;
    	  }
     
    	  protected void executeInternal(JobExecutionContext ctx) throws JobExecutionException {
    	      // do the actual work
    			System.out.println("invoked: \n");
    	  }
     
    }
    mais malheureusement rien ne se passe ...

    quelqu un aurait il une idée ?

    (Je précise encore que c'est une application utilisant Spring , Hibernate et JSF)

  5. #5
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Points : 2 336
    Points
    2 336
    Par défaut
    en fait il ne fallait pas définir de servlet dans le web.xml mais il fallait ajouter un scheduler pour le trigger de cette manière

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    	<bean id="scheduler"
    		class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    		<property name="triggers">
    			<list>
    				<ref bean="cronTrigger" />
    			</list>
    		</property>
    		<property name="autoStartup">
    			<value>true</value>
    		</property>
    		<property name="applicationContextSchedulerContextKey">
    			<value>applicationContext</value>
    		</property>
    	</bean>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utilisation du scheduler Quartz
    Par A.BenAmmar dans le forum API standards et tierces
    Réponses: 0
    Dernier message: 06/11/2012, 20h25
  2. [QUARTZ] Reprogrammer un scheduler
    Par Apo007 dans le forum API standards et tierces
    Réponses: 0
    Dernier message: 04/11/2009, 16h59
  3. [Batch] [Quartz] 2 beans comme jobDetails
    Par ritchie23 dans le forum Spring
    Réponses: 0
    Dernier message: 09/10/2008, 16h09
  4. [SCHEDULER] Quartz et Database
    Par bourbaki2003 dans le forum API standards et tierces
    Réponses: 23
    Dernier message: 31/10/2006, 10h54
  5. Quartz: impossible d'instancier le scheduler!
    Par lOurs4816 dans le forum API standards et tierces
    Réponses: 28
    Dernier message: 20/04/2006, 17h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo