2016-09-29 36 views
0

我想知道myBatis缓存(本地和二级)如何处理分布式系统中的数据。我有5个实例针对Oracle数据库运行,我使用MyBatis进行数据访问。所有5个实例相同,但运行在不同的服务器上。 Mybatis被配置为使用SESSION缓存,也就是说当执行任何插入/删除/更新语句时缓存被清除。分布式系统中的MyBatis缓存策略

当1个实例运行时,该服务器的本地缓存被清除。其他4个实例如何知道缓存需要刷新/更新?

回答

0

给人一种轨迹:

我想所有实例背后负载平衡器和针对单个Oracle数据库运行。 实例节点最好放在一个集群中,否则,它们如何能够相互通信。然后缓存可以在群集节点之间共享,例如Jboss doc, working with Hibernate中所述。

问题是关于如何配置服务器(或应用程序,在诸如beans.xml等文件中)以使用MyBatis缓存。

如果将SessionFactory声明为@ApplicationScoped,那就足够了。