2014-04-08 2 views
2

Я хочу использовать MongoDB, как cacche магазин для infinispan для сохранения данных выселенных в соответствии с политикойИсключения использование MongoDB в качестве хранилища infinispan кэша

я проводкой фрагмента кода, который вызывает исключение наряду с исключением

ConfigurationBuilder config = new ConfigurationBuilder(); 
MongoDBCacheStore strgBuilder = new MongoDBCacheStore(); 
ConfigurationBuilder b = new ConfigurationBuilder(); 
b.persistence() 
.addStore(MongoDBCacheStoreConfigurationBuilder.class) 
.host("localhost") 
.port(27017) 
.timeout(1500) 
.acknowledgment(0) 
.username("") 
.password("") 
.database("infinispan_cachestore") 
.collection("entries"); 
/* DefaultCacheManager manager=new DefaultCacheManager(b.build()); 
Cache ch=manager.getCache(); 
ch.put("username","sogani"); */ 

final Configuration configcache = b.build(); 
MongoDBCacheStoreConfiguration store = (MongoDBCacheStoreConfiguration) configcache.persistence().stores().get(0); 

исключение, которое я получаю

java.lang.NoSuchMethodException: org.infinispan.loaders.mongodb.configuration.MongoDBCacheStoreConfigurationBuilder. 

Любой указатель будет иметь большую помощь Thnx.

ответ

1

MongoDB не был обновлен после того, как в Infinispan был принят новый API устойчивости. Попробуйте Infinispan 5.2.7.Final, может быть, 5.3.0.Final или заглянуть в материал adaptor52x. Или, еще лучше, попробуйте переопределить его с помощью нового интерфейса CacheWriter и выпустить PR - существующий код должен предоставить вам некоторые рекомендации.