Thiết kế của chúng tôi có một jvm là một jboss/webapp (đọc/ghi) được sử dụng để duy trì dữ liệu qua hibernate (sử dụng jpa) đến db. Mô hình này có 10-15 lớp học liên tục với 3-5 mức độ sâu trong các mối quan hệ.Làm thế nào để duy trì tính ổn định cache Hibernate chạy hai ứng dụng Java?
Sau đó chúng tôi có một jvm riêng biệt là máy chủ sử dụng dữ liệu này. Vì nó đang chạy liên tục, chúng tôi chỉ có một phiên db dài (chỉ đọc).
Hiện tại không có bộ nhớ cache trong-jvm có liên quan - vì vậy chúng tôi sẽ ghi một cách thủ công một jvm từ bộ nhớ cache kia.
Bây giờ khi webapp thay đổi một số dữ liệu, nó báo hiệu máy chủ tải lại dữ liệu đã thay đổi. Những gì chúng tôi đã tìm thấy là chúng ta cần phải nói với hibernate để thanh lọc dữ liệu và sau đó tải lại nó. Chỉ cần thực hiện tìm nạp/hợp nhất với db không thực hiện công việc - chủ yếu là đối với các đối tượng một vài lớp trong hệ thống phân cấp.
Bất kỳ ý tưởng nào về việc có bất kỳ điều gì sai về cơ bản với thiết kế này hay không hoặc có ai làm điều này và đã có may mắn hơn khi làm việc với ngủ đông khi tải lại.
Cảm ơn, Chris
Sử dụng JPA, và @PersistenceContext để có được những EntityManager - nhưng có vẻ như chúng ta cần @PersistenceUnit cho một EntityManagerFactory và để làm mới dữ liệu, chúng ta có được một EntityManager mới. Nghe có vẻ tốt - nhưng cách tay nặng để cập nhật mọi thứ, nhưng nếu đó là điều mọi người làm ... –