Исключение Infinispan MongoDb CacheStore

Я хочу использовать MongoDb в качестве хранилища кеша для Infinispan, но получаю следующее исключение. Это отличается от вопроса Исключение с использованием mongodb в качестве хранилища кеша infinispan, поскольку метод b.loader() недоступен в банке infinispan 7.0, я только что понял, как изменить ситуацию, используя b.persistence.addStore(), но все еще получаю исключение, как уже упоминалось в вопросе Код--

ConfigurationBuilder b = new ConfigurationBuilder();
    b.loaders().addStore(
    MongoDBCacheStoreConfigurationBuilder.class).host( "localhost" )
    .port( 27017 )
    .timeout( 1500 )
    .acknowledgment( 0 )
    .username( "mongoDBUSer" )
    .password( "mongoBDPassword" )

    .database( "infinispan_cachestore" )
    .collection( "entries" );

    final Configuration config = b.build();
    MongoDBCacheStoreConfiguration store = (MongoDBCacheStoreConfiguration) config.loaders().cacheLoaders().get(0);

    EmbeddedCacheManager cacheManager=new DefaultCacheManager();
    cacheManager.defineConfiguration("usersCache", config);
    //DefaultCacheManager manger=new DefaultCacheManager(config);
    Cache<String, String> usersCache = cacheManager.getCache("usersCache");

Исключение:--

log4j:WARN No appenders could be found for logger (org.jboss.logging).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Exception in thread "main" org.infinispan.CacheException: Unable to invoke method public void org.infinispan.loaders.CacheLoaderManagerImpl.start() on object of type CacheLoaderManagerImpl
    at org.infinispan.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:207)
    at org.infinispan.factories.AbstractComponentRegistry$PrioritizedMethod.invoke(AbstractComponentRegistry.java:889)
    at org.infinispan.factories.AbstractComponentRegistry.invokeStartMethods(AbstractComponentRegistry.java:658)
    at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:647)
    at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:550)
    at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:221)
    at org.infinispan.CacheImpl.start(CacheImpl.java:691)
    at org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:685)
    at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:648)
    at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:544)
    at com.infini.demo.DemoWithInfi5.main(DemoWithInfi5.java:31)
Caused by: org.infinispan.CacheException: Unable to start cache loaders
    at org.infinispan.loaders.CacheLoaderManagerImpl.start(CacheLoaderManagerImpl.java:163)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.infinispan.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:205)
    ... 10 more
Caused by: java.lang.IllegalArgumentException: Cannot load null class!
    at org.infinispan.util.Util.getInstance(Util.java:224)
    at org.infinispan.loaders.CacheLoaderManagerImpl.createCacheLoader(CacheLoaderManagerImpl.java:346)
    at org.infinispan.loaders.CacheLoaderManagerImpl.createCacheLoader(CacheLoaderManagerImpl.java:336)
    at org.infinispan.loaders.CacheLoaderManagerImpl.start(CacheLoaderManagerImpl.java:149)
    ... 15 more

person Amit_Hora    schedule 08.04.2014    source источник
comment
@user2106092 user2106092 - Просьба обновить последний вопрос @ Исключение с использованием mongodb в качестве кеша infinispan store (согласно выводам Нейла), вместо того, чтобы каждый раз задавать новые вопросы по одной и той же проблеме   -  person Knowledge Craving    schedule 08.04.2014
comment
Это не дубликат заданного вопроса, с изменением версии infinispan jar метод b.loader() был недоступен, поэтому я просто выясняю, что происходит вокруг, и использую b.persistence().addStore() и в обоих случаях исключение разное   -  person Amit_Hora    schedule 09.04.2014


Ответы (1)


Загрузите infinispan- cachestore-mongodb-5.3.0.final.jar и импортируйте его в свой проект и обязательно импортируйте пакет внутри класса, который его использует.

person mok    schedule 08.04.2014
comment
я использую ту же версию jar, и она находится в моем пути к классу - person Amit_Hora; 08.04.2014
comment
@ user2106092 Вы импортировали его в свой класс, который его использует? - person mok; 08.04.2014
comment
да, я использовал соответствующий импорт - person Amit_Hora; 09.04.2014