Хранилище кэша Infinispan — исключение «класс не найден» в модуле дополнения wildlfy

#wildfly #infinispan #infinispan-10

#wildfly #инфиниспан #infinispan-10

Вопрос:

Я использую хранилище кэша Infinispan 11.0.7, которое настроено с помощью XML-файла. Я импортировал этот модуль кэша на сервере Wildlfy. Я использую эту зависимость в своем приложении. Но когда я пытаюсь извлечь элементы кэша из кэша, это выдает мне исключение ClassNotFound .

Я использовал эту конфигурацию:

 <local-cache name="TaskStoreCache" statistics="false">
    <locking acquire-timeout="60000" />
    <persistence passivation="false">
        <rocksdb-store path=" C:CacheStoreDataTaskStoreCache" preload="false" shared="false" 
                       purge="false" read-only="false">
            <expiration path="C: CacheStoreExpiredTaskStoreCache"/>
        </rocksdb-store>
    </persistence>
    <memory max-count="500"/>
    <encoding media-type="application/x-java-object"/> 
</local-cache>
 

И я использовал эту сериализацию:

 <serialization  marshaller="org.infinispan.commons.marshall.JavaSerializationMarshaller">
    <white-list>
        <regex>com.xyz.cache.*</regex>
        <regex>java.util.*</regex>                  
        <regex>java.lang.*</regex>  
    </white-list>
</serialization>
 

Я уверен, что это проблема, связанная с загрузкой класса. Пожалуйста, помогите мне с этим.

Комментарии:

1. недостаточно сказать, что вы получили ClassNotFound ошибку, вы должны включить все сообщение об исключении и даже часть трассировки стека. Это также помогло бы объяснить, как вы используете кеш. Наконец, вы не должны использовать один и тот же путь для основного хранилища RocksDB и для его базы данных истечения срока действия.

Ответ №1:

Вы должны дважды проверить, как зависимость включена в ваше приложение (war / ear), и убедиться, что область действия правильная.

Если вы не упаковали его в свое приложение, модуль должен присутствовать в вашем wildfly и быть известен вашему приложению (например jboss-deployment-structure.xml )