2012-04-11 1 views
1

Zum Beispiel bricht, habe ich zwei Aufgaben:JBoss 5 Planung Hintergrundaufgaben. Ausgeführt einer nach dem anderen, die den Zeitplan

<mbean code="org.jboss.varia.scheduler.Scheduler" name=":service=Scheduler"> 
    <attribute name="StartAtStartup">true</attribute> 
    <attribute name="SchedulableClass">Scheduler1</attribute> 
    <attribute name="InitialStartDate">NOW</attribute> 
    <attribute name="SchedulePeriod">60</attribute> 
    <attribute name="InitialRepetitions">-1</attribute> 
    <attribute name="FixedRate">false</attribute> 
    </mbean> 

    <mbean code="org.jboss.varia.scheduler.Scheduler" name=":service=Scheduler2"> 
    <attribute name="StartAtStartup">true</attribute> 
    <attribute name="SchedulableClass">Scheduler2</attribute> 
    <attribute name="InitialStartDate">NOW</attribute> 
    <attribute name="SchedulePeriod">3600</attribute> 
    <attribute name="InitialRepetitions">-1</attribute> 
    <attribute name="FixedRate">false</attribute> 
    </mbean> 

D.h. der erste wird jede Minute, der zweite jede Stunde angesetzt.

Das Problem ist, dass, wenn die Ausführung der zweiten Aufgabe beispielsweise 5 Minuten dauert, die erste während dieser Zeit nicht ausgeführt wird und sie wartet, bis die zweite abgeschlossen ist.

Gibt es eine Möglichkeit, sie parallel arbeiten zu lassen? Oder sollte ich nach Quarz oder etwas anderes ziehen?

Antwort

0

Verwenden

<attribute name="TimerName">jboss:service=TimerNew</attribute> 

Es wird den Zeitplan in parralel starten.

+0

Also nur diesen Knoten zu beiden hinzufügen? Oder etwas wie jboss: service = TimerNew1, jboss: service = TimerNew2 usw.? –

+0

Verwendung mit combinition Wie Benutzer: service = MyTimer, name = Task1 Benutzer: service = MyTimer, name = Task1 und Benutzer: service = MyTimer, name = Task2 < Attributname = "TimerName"> Benutzer: Service = MyTimer, Name = Task210 für Referenz [Concurrent scheduler tasks] (https://community.jboss.org/message/588965) – Shehzad

Verwandte Themen