我是Pivotal Gemfire的新手,他将Gemfire配置为存储Oracle表数据以实现低延迟和高吞吐量的应用程序。
通过一些方法,我们可以将数据加载到Gemfire缓存中。
有谁知道在Oracle Gemfire缓存加载后发生任何更新时如何更新数据?
任何帮助,指示,参考资料都会有很大帮助。
最佳答案
通常,您需要设计应用程序,以使所有更新都从您的应用程序通过GemFire流向Oracle。您可以使用GemFire CacheWriter同步更新Oracle数据库,甚至可以将其包装在(JTA) transaction中,以便仅在GemFire成功更新后才更新Oracle数据库。查看更多详细信息here。您甚至可以使用AsyncEventQueues和侦听器异步(后写)执行更新,请参见here,更常见的是here。
您可能还有其他非基于GemFire的应用程序可以直接访问Oracle数据库。在这种情况下,您将不得不依靠外部手段来检测数据库更新并将其提供给GemFire。当然,有许多方法可以执行此操作,例如从计划服务中定期检查数据库更新并将其拉入GemFire。核心Spring框架的Task Scheduling基础结构与Spring Data JPA(甚至只是Spring's JDBC Abstraction)的组合将大大简化此工作。
或者,如果是我,我可能会选择Spring XD,并设置一个“ stream”,其中将Oracle数据库(JDBC)“ source”与一些transformations/filters/etc混合,然后根据需要添加一个“ GemFire”。 sink”。
希望这会有所帮助,并祝你好运。
干杯!
关于java - 从Oracle表加载和更新Gemfire缓存,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32369520/