Bạn cần tạo một (các) jar riêng biệt với tất cả các lớp (và tất cả các phụ thuộc của chúng) trong trường hợp bạn lập kế hoạch cache và sau đó triển khai jar này cũng như ehcache.jar làm thư viện (tùy thuộc vào máy chủ ứng dụng nào sử dụng thủ tục có thể khác nhau), trong trường hợp Tomcat 6 có nghĩa là chỉ cần sao chép các thư mục vào thư mục lib.
Điều gì xảy ra sau đó là lớp ehcache và miền của bạn sẽ được tải bởi trình nạp lớp được tất cả các ứng dụng web chia sẻ, do đó các phiên bản sẽ được lưu vào bộ nhớ cache và có thể truy cập được trong bộ nhớ.
Các phụ thuộc của các lớp miền của bạn là quan trọng, vì vậy bạn nên xem liệu phương pháp này có khả thi trong dự án của bạn hay không. Nó cũng có thể ảnh hưởng đến cách bạn khởi động lại các ứng dụng web.
Ngoài ra, bạn nên lưu ý rằng bộ nhớ cache và chia sẻ không cần thiết. Cache là một tối ưu hóa. Nếu bạn đặt đối tượng dụ vào bộ nhớ cache, nó có thể bị gỡ bỏ ngay lập tức nếu, ví dụ, bộ nhớ cache không có đủ không gian lưu trữ hoặc cấu hình chính sách trục xuất. Vì vậy, có thể bạn phải xem lại cách bạn dự định sử dụng ecache nói chung.
Nguồn
2008-12-18 13:24:13
bạn có thể giải thích thêm về những gì bạn đang cố gắng thực hiện với bộ nhớ cache dùng chung không? – lucas
Tôi muốn sử dụng nó làm khóa phân phối. Tôi có thể sử dụng một cơ sở dữ liệu để chỉ ra rằng một giao dịch đang diễn ra (nhưng tôi tin rằng đó là một mô hình chống). Usecase: War1 bắt đầu một tx, lưu trữ nó trong bộ nhớ cache. Điều này ngăn cản tx cùng bắt đầu. War2 vô hiệu hóa tx dựa trên sự kiện bên ngoài. – ashitaka