Frage

Versuchen, einen Ansatz zu finden, um ein regelmäßiges Haushalten in einem Worklight-Server auszuführen. Vereinfachtes Szenario:

Wir haben einen Adapter, der mit einem Back-End-System spricht. Wenn der Benutzer mit dem Arbeitslicht authentifiziert, erstellen sie einige Anmeldeinformationen, die an jedem Serviceanruf an das Backend-Ende übergeben werden. Diese Anmeldeinformationen können, wenn sie nicht für einen bestimmten Zeitraum verwendet werden sollen. Daher, was wir wollen, ist ein "Herzschlag" für alle aktiven Sitzungen. Ich habe ein Singleton-Java-Objekt, in dem ich die Anmeldeinformationen stecken, wenn der Benutzer authentifiziert wird, was ich tun möchte, um eine Art Hintergrund-Arbeiter-Thread zu haben, um die Liste der Anmeldeinformationen zu iterieren und einen Heartbeat-Anruf an den Server zu erstellen.

Ich enden mit Adapter-Methoden wie dieses

generasacodicetagpre.

Die Frage ist: Wie lösen wir diesen Herzschlag aus. Ich habe versucht, eine Java-Timertask zu verwenden, die fast funktioniert. Ich kann arrangieren, dass die Java-Timertask meinen Herzschlag anrufen wird. Das Problem ist, dass wir beim Laufen unter der Timertask keine normale Arbeitslicht-Server-Umgebung haben, auf WL.Server.invokeProcedure () Turk-Ausnahmen, und darüber nachdenken, ist es unwahrscheinlich, dass ich Zugriff auf das normale Arbeitslicht-APIs habe effektiv ein Fremdfaden.

Wir verwenden Worklight 6.1, bereitstellen auf einem WebSphere-Liberty-Server. Derzeit kann ich denkmal daran denken, ein externes Mini-Anwendungs- oder Shell-Skript zu schreiben, das die Heartbeat () -Methode periodisch aufruft.

Alle besseren Vorschläge?

War es hilfreich?

Lösung

Ich bin nicht sicher, dass Heartbeating-Backend eine gute Idee ist, sondern er klingt nach einem möglichen Sicherheitsloch.Sie sollten Ihren WL-Server konfigurieren und Session-Timeouts unterstützen.

Wie für eine Antwort auf die tatsächliche Frage - Sie können EventoSource verwenden, um Hintergrundaufgaben zu erstellen.Siehe hier - https://www.ibm.com/EntwicklerWorks / Community / Community / Blogs / Workscheind / Entry / configureuring_a_polling_event_source_to_send_push_notifications? Lang= de

Andere Tipps

david, ich bin mir nicht ganz sicher, ob es Ihre Frage direkt ansprechen, da ich nicht sicher bin, wenn Sie nur für einen Herzschlag angestreben werden oder ob Sie einige benutzerdefinierte Arbeit auf der Adapterebene ausführen möchten, wenn der Herzschlag an der Adapterschicht teilnehmen möchtenwird empfangen (können Sie etwas mehr über den zugrunde liegenden Zweck klären?);Aber wissen Sie, dass das Arbeitsscheinwerfer selbst ein eingebautes Herzschlagkonzept hat?Sie konfigurieren es mit dem Wert HeartbeatInTervalInsinc als Teil des Anrufs bis wl.client.init () .Sehen Sie Die Dokumentation für weitere Informationen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top