java infinispan最简单的例子

时间:2014-11-27 17:51:21

标签: java persistence infinispan

我想使用infinispan(7.0.2.Final)为我用java编写的服务器应用程序提供持久性。在我开始实现之前,我尝试了最简单的方案,但它没有用......

即我实现了两个简单的单元测试,我一个接一个地运行它们(即我单独运行它们)。

第一次测试只包括:

Cache<Object, Object> c = new DefaultCacheManager().getCache();
c.put("key1", "value1");

第二个:

Cache<Object, Object> c = new DefaultCacheManager().getCache();
String result = (String) c.get("key1");

但我收到了结果= null ...

我做错了什么?我阅读了infinispan页面,它应该是开箱即用的......

2 个答案:

答案 0 :(得分:1)

此处的问题是您的配置未集群化。默认情况下,使用CacheMode = LOCAL,因此,您不能指望数据复制。

尝试在clustering()元素中设置适当的缓存模式:

http://infinispan.org/docs/7.0.x/user_guide/user_guide.html#_configuring_cache_programmatically

答案 1 :(得分:1)

似乎你期待持久性(不像@tsykora建议的那样聚集)。具有编程配置的链接是正确的,但您可能希望使用SingleFileStore(作为最简单的持久存储)。

DefaultCacheManager manager = new DefaultCacheManager();
Configuration c = new ConfigurationBuilder().persistence()
    .addSingleFileStore()
    .location("/tmp/myDataStore")
    .maxEntries(5000);

manager.defineConfiguration("myCache", c);
Cache<Object, Object> cache = manager.getCache("myCache");

(代码未经测试,但这是个主意)。

相关问题