Starten und Beenden eines ScheduledExecutorService in einer Java EE-Umgebung mithilfe eines Servlets

Wir haben eine Anforderung, bei der wir Remote-JVM-Details über JMX mit einer einfachen Servlet-Anwendung überwachen müssen. So ist die bisherige Vorgehensweise in einer eigenständigen Anwendung

1) Erstellen Sie einen JMX-Konnektor und holen Sie sich die Speicherdaten -> erledigt 2) Wir müssen ständig die Datensätze überwachen und holen (2.1> die als geplante Aufgabe mit konstanter Verzögerung angesehen werden können und die Datensätze in DB einfügen oder 2.2> erledigt die JMX gibt den Verlauf an, wenn ja, auf welche MBean für die Informationen zugegriffen werden soll?).

Hier plane ich, eine Schnittstelle zu verwenden, um die Domain zu registrieren, gefolgt von ihr. Habe Start & Stop Button von JSP. Die Funktionalität war, als wir auf Start geklickt haben, dass das System den Scheduler (ScheduledExecutorService) ausführt und die Datensätze im Hintergrund aufzeichnet, um den Verlauf zu geben. Wenn die Verwendungsklicks anhalten, muss der Scheduler den Hintergrundprozess anhalten. Die Frage ist, wie wir das Objekt eines Schedulers steuern und erhalten können.

1) Mit anderen Worten, wie können wir einen ScheduledExecutorService über Servlets starten und stoppen? Einen Thread von einem Servlet starten und einen Thread von einem anderen Servlet für eine bestimmte Aufgabe stoppen?

2) Was ist, wenn wir eine Cluster- / Lastausgleichsumgebung haben?

Derzeit denke ich daran, jeden ScheduledExecutorService in HashMap einzufügen. Der Schlüssel war das Aufgabenobjekt und der Wert war der ScheduledExecutorService unter Verwendung des SingleTon-Entwurfsmusters. Gibt es einen Standardansatz? Die gesamte Schleife mit SingleTon befindet sich in einer Cluster- / Lastausgleichsumgebung. Möglicherweise können wir die entsprechenden Aktualisierungsobjekte nicht abrufen.

Ich freue mich auf Ihren wertvollen Vorschlag.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage