Echtzeit-Updates von der Datenbank mit JSF / Java EE

Ich habe eine Anwendung, die in der folgenden Umgebung.

  • GlassFish Server 4.0
  • JSF-2.2.8-02
  • PrimeFaces 5.1 final
  • PrimeFaces Erweiterung 2.1.0
  • OmniFaces 1.8.1
  • EclipseLink 2.5.2 mit JPA 2.1
  • MySQL-5.6.11
  • JDK-7u11

Gibt es mehrere öffentliche Seiten, die träge aus der Datenbank geladen. Ein paar CSS-Menüs angezeigt werden die Kopfzeile der Vorlage Seite wie anzeigen Kategorie/Unterkategorie-Weise "featured", " top-Verkäufer, neue Ankunft, etc Produkte.

Den CSS-Menüs aufgefüllt werden dynamisch aus der Datenbank, basierend auf verschiedenen Kategorien von Produkten in der Datenbank.

Diese Menüs sind aufgefüllt, die auf jeder Seite geladen werden, die vollkommen unnötig ist. Einige dieser Menüs erfordern-Komplex/teuer JPA Kriterien Abfragen.

Derzeit die JSF-managed beans, bevölkern diese Menüs Ansicht beschränkt. Sie alle sollten application scoped, nur einmal geladen werden, die auf Anwendung starten und werden nur aktualisiert, wenn etwas in der entsprechenden Datenbank-Tabellen (Kategorie/Unterkategorie/Produkt etc.) ist aktualisiert/geändert.

Machte ich einige versuche um zu verstehen, WebSokets (nie versucht, vor, völlig neue WebSokets) wie diese und diese. Sie arbeiteten gut auf GlassFish 4.0 aber Sie beziehen nicht mit Datenbanken. Ich bin noch nicht in der Lage zu verstehen, richtig wie WebSokets Arbeit. Vor allem, wenn Datenbank beteiligt ist.

In diesem Szenario, wie zu Benachrichtigen, die damit verbundenen clients und aktualisieren Sie die oben genannten CSS-Menüs mit den neuesten Werten aus der Datenbank, wenn etwas aktualisiert/gelöscht/Hinzugefügt, um die entsprechenden Datenbank-Tabellen?

Ein einfaches Beispiel/s groß sein.

InformationsquelleAutor der Frage Tiny | 2014-09-20

Schreibe einen Kommentar