2016-07-29 5 views
-1

Ich habe einen Kamel-Route in meiner Anwendung, die mit einem Cron-Ausdruck ausgelöst wird. Ich benutze Kamel Quarz2 Scheduler für diese, aber ich bin nicht sicher, wie Quartz2 geclustert werden, wie wir diese Anwendung auf mehreren Knoten bereitstellen müssen. Folgendes ist der Auslöser, der die Kamelroute startet.Wie Apache Kamel Quarz2 Scheduler geclustert

from("quartz2://foo?cron=1+1+1+*+*+?&trigger.timeZone=Australia/Melbourne") 

Kann mir bitte jemand helfen, dies in einer Clusterumgebung zu konfigurieren.

ich folgende, wenn ich diesen Weg ausführen:

Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally. 
    NOT STARTED. 
    Currently in standby mode. 
    Number of jobs executed: 0 
    Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads. 
    Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support  persistence. and is not clustered. 
+0

Können Sie bitte die Punkt - Clusterumgebung ausarbeiten? Was ist die Erwartung? – Jayaraj

Antwort

0

Dies wird erreicht, indem org.quartz.jobStore.isClustered auf true gesetzt wird. Hier ist ein Zitat aus the official documentation:

Clustering aktiviert, indem Sie die „org.quartz.jobStore.isClustered“ Eigenschaft auf „true“. Jede Instanz im Cluster sollte dieselbe Kopie der Datei quartz.properties verwenden. Ausnahmen davon wären identische Eigenschaftendateien mit den folgenden zulässigen Ausnahmen: Unterschiedliche Threadpoolgröße und anderer Wert für die Eigenschaft "org.quartz.scheduler.instanceId". Jeder Knoten im Cluster MUSS über eine eindeutige instanceId verfügen, die einfach ausgeführt werden kann (ohne dass verschiedene Eigenschaftendateien benötigt werden), indem "AUTO" als Wert für diese Eigenschaft festgelegt wird.

Um dies zu konfigurieren mit Kamel, würden Sie die quartz.properties Datei im src/main/resources/org/quartz setzen müssen. Alternativ können Sie die Quartz-Komponente anpassen und eine benutzerdefinierte Eigenschaftendatei oder eine Instanz von Properties bereitstellen. Schauen Sie sich the official Camel documentation an.

+0

Danke Milos, ich habe es. – VishalS

+0

Ich habe noch eine Frage. ist es möglich, dass ich den Scheduler clustered ohne Verwendung von Datenbanktabellen machen kann – VishalS

+0

Leider weiß ich nicht - ohne die DB, Ihre Instanzen wäre nicht in der Lage, richtig zu synchronisieren. –

0

Es scheint, dass Sie falsch verstanden ‚NICHT GESTARTET‘ sind Nachricht. Der Quarz ist in Ihrem Fall tatsächlich gestartet. Bitte warten Sie, bis die Zeit Ihren Cron-Ausdruck erfüllt, um den Job/die Anwendung zu starten. Um den Protokollierungsaufbau des Quarzes anzuzeigen, Visit here.

+0

Danke Jayaraj, ich weiß, dass es gestartet wurde, aber es wird nicht im Cluster-Modus gestartet. Ich möchte es in einem gruppierten Modus starten. Ich weiß, dass ich das mit der Eigenschaftendatei tun kann, aber ich kann die Eigenschaftendatei nicht konfigurieren. – VishalS

Verwandte Themen