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 :

[Quartz] Le lancer un job qu'une seule fois [Batch]


Sujet :

Spring Java

  1. #1
    Membre régulier Avatar de ritchie23
    Profil pro
    Inscrit en
    Août 2008
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2008
    Messages : 122
    Points : 70
    Points
    70
    Par défaut [Quartz] Le lancer un job qu'une seule fois
    Salut,

    j'ai un fichier applicationContext.xml avec un trigger.
    Cela fonctionne très bien.
    repeatInterval est à 2 secondes : mon code s'exécute toutes les 2 s.

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
    <?xml version='1.0' encoding='UTF-8'?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
    <beans>
     
     
    	<bean id="propertyConfigurer"
    		class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    		<property name="location">
    			<value>file:D:\pratic.properties</value>
    			<!--<value>classpath:pratic.properties</value>-->
    		</property>
    	</bean>
     
     
    	<bean id="date" class="java.util.Date" />
     
     
    	<bean id="MailManager" class="toto">
    		<property name="session" ref="MailSession" />
    		<property name="properties">
    			<props>
    				<prop key="mail.manager.delete.message">true</prop>
    				<prop key="mail.manager.overwrite.message">true</prop>
    				<prop key="directory.ticket.com">${FileSearcher_Pratic.Tickets_de_comm}</prop>
    			</props>
    		</property>
    	</bean>
     
     
     
     
     
    	<!-- PRATIC -->
     
     
     	<bean id="jobDetailMailManager"
    		class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
    		<property name="targetObject" ref="MailManager" />
    		<property name="targetMethod" value="process" />
    		<property name="concurrent" value="false" />
    	</bean>
    	<bean id="simpleTriggerMailManager"
    		class="org.springframework.scheduling.quartz.SimpleTriggerBean">
    		<property name="jobDetail" ref="jobDetailMailManager" />
    		<property name="startDelay" value="0000" />
    		<property name="repeatInterval" value="2000" />
    	</bean>
     
     
     
    	<bean 
    		class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    		<property name="triggers">
    			<list>
    				<ref bean="simpleTriggerMailManager" />
    			</list>
    		</property>
    	</bean>
     
     
     
     
     
    </beans>
    Maintenant, je voudrais que mon code ne s'exécute qu'une seule fois.
    la question est un peu bête, mais en enlevant la partie trigger (les 3 bean du bas) et le "id" du mail manager, ca ne fonctionne pas !

    J'ai donc essyé plusieurs autres petits trucs, comme mettre -1 en valeur du repeatInterval (pour lui signaler de en pas faire de repeat, mais bien sur ca ne fonctionne toujours pas.

    Merci de votre aide !

    Ritchie.

  2. #2
    Rédacteur
    Avatar de Hikage
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 177
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 177
    Points : 6 301
    Points
    6 301
    Par défaut
    Essaie cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	<bean id="simpleTriggerMailManager"
    		class="org.springframework.scheduling.quartz.SimpleTriggerBean">
    		<property name="jobDetail" ref="jobDetailMailManager" />
    		<property name="startDelay" value="0000" />
    		<property name="repeatInterval" value="2000" />
    		<property name="repeatCount" value="1" />
    	</bean>
    Mais, bon si c'est pour l'executer une seule fois, j'avoue ne pas voir l'intérêt d'utiliser une tache plannifiée :-)

  3. #3
    Membre régulier Avatar de ritchie23
    Profil pro
    Inscrit en
    Août 2008
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2008
    Messages : 122
    Points : 70
    Points
    70
    Par défaut
    Salut Hikage,

    ca fonctionne à merveille. merci !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <property name="repeatCount" value="0" />
    Mais, bon si c'est pour l'executer une seule fois, j'avoue ne pas voir l'intérêt d'utiliser une tache plannifiée :-)
    Moi non plus, mais je n'arrive pas à m'en affranchir.
    Si j'essaye de passer directement au bean mail manager, ca ne fonctionne pas.
    Par contrre, je veux garder mon applicationContext pour avoir la même architecture que le reste du programme.

    Merci encore une fois !
    Ritchie.

  4. #4
    Membre régulier Avatar de ritchie23
    Profil pro
    Inscrit en
    Août 2008
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2008
    Messages : 122
    Points : 70
    Points
    70
    Par défaut
    Salut Hikage,

    ca fonctionne à merveille. merci !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <property name="repeatCount" value="0" />
    Mais, bon si c'est pour l'executer une seule fois, j'avoue ne pas voir l'intérêt d'utiliser une tache plannifiée :-)
    Moi non plus, mais je n'arrive pas à m'en affranchir.
    Si j'essaye de passer directement au bean mail manager, ca ne fonctionne pas.
    Par contre, je veux garder mon applicationContext pour avoir la même architecture que le reste du programme.

    Merci encore une fois !
    Ritchie.

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

Discussions similaires

  1. lancer un script colorbox une seule fois
    Par amoric69 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/02/2011, 08h41
  2. Lancer plusieurs config en une seule fois
    Par pololetigrou dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 14/05/2010, 13h51
  3. Réponses: 9
    Dernier message: 26/04/2007, 00h44
  4. Lancer une application une seule fois - numero de process
    Par lefabdepau dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 20/02/2007, 16h23
  5. [AS1-2] Lancer un code AS une seul fois...
    Par rteuteu55 dans le forum Flash
    Réponses: 6
    Dernier message: 13/04/2006, 14h05

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