【发布时间】:2018-06-04 23:50:30
【问题描述】:
我正在将 Hibernate Search 5.5.5 配置为在 Wildfly 10 上使用 Infinispan 8.2.2。 我在 Wildfly 中只配置了 Infinispan 模块,没有配置 Hibernate Search 模块。
在persistence.xml里面我放了这个配置:
<property name="hibernate.search.infinispan.cachemanager_jndiname" value="java:jboss/infinispan/container/hibernateSearch" />
<property name="wildfly.jpa.hibernate.search.module" value="none" />
这是因为似乎使用了 Infinispan,但没有保留索引。
所有缓存都在 domain.xml 中配置如下:
<cache-container name="hibernateSearch" default-cache="LuceneIndexesData" jndi-name="java:jboss/infinispan/hibernateSearch" statistics-enabled="false">
<replicated-cache name="LuceneIndexesMetadata" mode="ASYNC">
<file-store fetch-state="false" passivation="false" preload="false" purge="false" shared="false" singleton="false"/>
</replicated-cache>
<replicated-cache name="LuceneIndexesLocking" mode="SYNC">
<file-store fetch-state="false" passivation="false" preload="false" purge="false" shared="false" singleton="false"/>
</replicated-cache>
<replicated-cache name="LuceneIndexesData" mode="ASYNC">
<file-store fetch-state="false" passivation="false" preload="false" purge="false" shared="false" singleton="false"/>
</replicated-cache>
</cache-container>
在 jboss-deployment-structure.xml 中:
<module name="org.infinispan" slot="ispn-8.2"/>
<module name="org.hibernate.search.orm" services="export" />
当我尝试索引所有内容时,我收到此错误:
UNHANDLED_EXCEPTION: java.lang.IllegalArgumentException: java.lang.Object is not an indexed entity or a subclass of an indexed entity
但如果我删除这一行:
<property name="wildfly.jpa.hibernate.search.module" value="none" />
我明白了
org.hibernate.search.exception.SearchException: Wrong configuration of directory provider: class org.infinispan.hibernate.search.spi.InfinispanDirectoryProvider does not implement interface org.hibernate.search.store.DirectoryProvider
问题似乎与此处描述的相同:
https://developer.jboss.org/thread/271789
但我没有找到任何可行的解决方案,而且我确信我的类路径中没有一个或多个 Infinispan 或 Hibernate 版本。
怎么了? :(
【问题讨论】:
标签: java hibernate wildfly hibernate-search infinispan