2014-11-27 2 views
1

Я хотел бы использовать infinispan (7.0.2.Final), чтобы обеспечить постоянство моего серверного приложения, написанного в java. Прежде чем я начал реализовывать его, я пробовал простейший сценарий, но он не работал ...java infinispan самый простой пример

i.e Я реализовал два простых модульных теста, и я запускаю их один за другим (т. Е. Я запускаю их отдельно).

Первый тест состоял только из:

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

И второй:

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

, но я получил результат = нуль ...

Что я делаю неправильно? Я читал на бесконечных страницах, которые должны заканчиваться из окна ...

ответ

1

Проблема в том, что ваша конфигурация не сгруппирована. По умолчанию используется CacheMode = LOCAL, и поэтому вы не можете ожидать репликации данных.

Попробуйте установить соответствующий режим кэша в кластеризация() элемент:

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

+0

У вас есть какая-либо ссылка или, может быть, вы могли бы предоставить мне простейший рабочий корпус? Я был бы очень благодарен;) – user1703589

+0

Например, для быстрого кластеризации Infinispan для кластерного кеша: https://github.com/infinispan/infinispan-quickstart/tree/master/clustered-cache – tsykora

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"); 

(код не проверен, но это идея).

Смежные вопросы