我目前正在進行遷移Web應用程序以在羣集中運行。此應用程序使用緩存。如果用戶保存某些內容,則會重新加載這些緩存中的一部分。我想通知羣集的其他節點關於此,以便所有節點刷新其緩存。如何在tomcat 6.0集羣環境中實現緩存同步?
看來,tomcat服務器有一個組消息內置。(部落) 我想知道如果我可以使用此消息傳遞給我的任務,以及如何讓事件監聽器運行一整天。
與親切的問候 邁克爾
我目前正在進行遷移Web應用程序以在羣集中運行。此應用程序使用緩存。如果用戶保存某些內容,則會重新加載這些緩存中的一部分。我想通知羣集的其他節點關於此,以便所有節點刷新其緩存。如何在tomcat 6.0集羣環境中實現緩存同步?
看來,tomcat服務器有一個組消息內置。(部落) 我想知道如果我可以使用此消息傳遞給我的任務,以及如何讓事件監聽器運行一整天。
與親切的問候 邁克爾
它可以使用它,也沒有必要啓動一個線程等。 發送類實例需要tomcat lib目錄中的消息類的jar。
歡呼 Michae
可以使用Hazelcast主題。這是一個非常輕量級的pub/sub消息。每個節點都將聽取該主題。當用戶在任何節點上保存smth時,只需輸入一些消息「REFRESH」。在接收每個節點可以做任何你想要的。 下面是代碼來做到這一點:
String REFRESH = "REFRESH";
ITopic<String> topic = Hazelcast.getTopic("myTopic");
topic.addMessageListener(new MessageListener<String>() {
public void onMessage(String msg) {
if(REFRESH.equals(msg){
//do refresh
}
}
});
當用戶保存某事//。
topic.publish(REFRESH);
如果您正在使用手寫CACHE,則可以使用消息廣播/接收同步緩存B/W羣集的所有節點,因此可以使用JGROUP
。
爲前節點A更新高速緩存,它只是撒施消息給其他節點以補充(refresh
)緩存
如何緩存目前實施的?的Ehcache?還是手寫的東西? – skaffman 2010-08-19 12:13:49
緩存(s)是手寫的,部分使用servletcontext或文件系統以及靜態字段。 – Michael 2010-08-27 13:30:34