2016-09-29 104 views
0

我想知道myBatis緩存(本地和二級)如何處理分佈式系統中的數據。我有5個實例針對Oracle數據庫運行,我使用MyBatis進行數據訪問。所有5個實例相同,但運行在不同的服務器上。 Mybatis被配置爲使用SESSION緩存,也就是說當執行任何插入/刪除/更新語句時緩存被清除。分佈式系統中的MyBatis緩存策略

當1個實例運行時,該服務器的本地緩存被清除。其他4個實例如何知道緩存需要刷新/更新?

回答

0

給人一種軌跡:

我想所有實例背後負載平衡器和針對單個Oracle數據庫運行。 實例節點最好放在一個集羣中,否則,它們如何能夠相互通信。然後緩存可以在羣集節點之間共享,例如Jboss doc, working with Hibernate中所述。

問題是關於如何配置服務器(或應用程序,在諸如beans.xml等文件中)以使用MyBatis緩存。

如果將SessionFactory聲明爲@ApplicationScoped,那就足夠了。