#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 )