Der Ansatz ist in Ordnung, aber der Nachteil ist, dass es nicht einfach ist, später die Lösung zu verbessern - keine schöne Oberfläche. Aber möglich mit jedem JavaEE-Server ohne Migrationsaufwand, wie es Standard-JavaEE ist.
Eine andere Lösung hängt ein wenig von dem Server ab, den Sie verwenden.
WildFly (Gemeinschaft): Sie könnten das interne Infinispan-Subsystem verwenden und es ist in einer HashMap-Weise. Sie können es einfach lokal verwenden, um mit zu beginnen und die Konfiguration in Cluster zu ändern (repliziert oder verteilt), wenn der Cache wächst und Sie mehr Arbeitsspeicher benötigen, um ihn zwischenzuspeichern.
JBoss EAP (Enterprise-Produkt): Hier können Sie das Infinispan-Subsystem nicht verwenden, technisch ist es möglich, aber es wird nicht unterstützt. Sie müssen das zusätzliche JBossDataGrid (JDG) verwenden, das auf Infinispan basiert. Hier haben Sie mehr Optionen, wie oben beschrieben, verwenden Sie den Cache im selben JVM lokal oder dist/repl. Oder auf einer anderen Instanz mit Remote-Zugriff auf den Cache - oft schnell genug, aber Sie haben einen Remote-Zugriff - aber die JVM ist komplett vom Server getrennt und kann anders gepflegt gestartet werden. Auch der Server und der Cache hatten keinen Einfluss auf den Speicher des jeweils anderen.
Für andere Anbieter können Sie auch den JDG-Ansatz (oder Infinispan als OpenSource) verwenden.
Fertig in J2EE-Anwendungen und wird für schreibgeschützte Daten empfohlen. Nur fangen ist, wenn Db ändert, dann müssen Sie entweder neu laden oder es wird widerspiegeln, wenn Sie App neu starten. –
Da Sie neu laden, aktualisieren, mit einem Beobachter aktualisieren können, ist es nicht wirklich ein Haken. http://docs.oracle.com/javaee/6/tutorial/doc/gkhic.html – keni