2017-12-22 68 views
7

मैं हाइबरनेट खोज 5.5.5 को इन्फिनिसन 8.2.2 का उपयोग करने के लिए वन्यजीव 10 पर उपयोग कर रहा हूं। मैंने केवल वाइल्डफ्लाई में इन्फिनिसन मॉड्यूल को कॉन्फ़िगर किया है, न कि हाइबरनेट खोज मॉड्यूल।इन्फिनिसपैन और वाइल्डफ्लाई के साथ हाइबरनेट खोज को कॉन्फ़िगर करना

<property name="hibernate.search.infinispan.cachemanager_jndiname" value="java:jboss/infinispan/container/hibernateSearch" /> 
<property name="wildfly.jpa.hibernate.search.module" value="none" /> 

इसका कारण यह है लगता है कि Infinispan प्रयोग किया जाता है, लेकिन सूचकांक मौजूद नहीं होता:

persistence.xml अंदर मैं इस विन्यास डाल दिया।

सभी कैश के रूप में नीचे 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 तैनाती-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

लेकिन मैं किसी भी काम कर समाधान नहीं मिल रहा है, और मुझे यकीन है कि मैं एक havent हूँ या मेरे क्लासपाथ में अधिक infinispan या हाइबरनेट संस्करण।

क्या गलत है? :(

उत्तर

2

TLDR; You are having 2 Infinispan versions in your classpath: one in your jboss-deployment-structure.xml and one coming with org.jboss.as.clustering subsystem.

कस्टम हाइबरनेट खोजें

<property name="wildfly.jpa.hibernate.search.module" value="none" /> सिर्फ मेरे ऐप के लिए मॉड्यूल "खोज" स्वचालित रूप से नहीं का उपयोग करें और निर्यात अनुप्रयोग सर्वर करना होता है।

इस प्रकार, <module name="org.hibernate.search.orm" services="export" /> बेमानी है, यह none के बजाय wildfly.jpa.hibernate.search.module के लिए सही मॉड्यूल आईडी डालने के तुरंत बाद स्वचालित रूप से किया जाएगा या डिफ़ॉल्ट खोज मॉड्यूल का उपयोग करने के लिए केवल संपत्ति को हटा दें।

none विकल्प स्थितियों के लिए है, जब आप डिफ़ॉल्ट या कस्टम खोज मॉड्यूल का उपयोग नहीं करना चाहते हैं लेकिन इसे अपने ऐप में बंडल करें।

अधिक जानकारी WildFly 10 Docs - Using Hibernate Search

कस्टम WildFly Infinispan सबसिस्टम

<module name="org.infinispan" slot="ispn-8.2"/> WildFly Infinispan सबसिस्टम अपग्रेड नहीं हो जाते। यह केवल आपके ऐप को लाइब्रेरी के रूप में इन्फिनिसन का सीधे उपयोग करने की अनुमति देता है। सही तरीका इनमें से एक होगा:

  • आसान: वाइल्डफ्लाई 10.1 में अपग्रेड (यह इन्फिनिसन 8.2 और हाइबरनेट खोज 5 के साथ आता है।डिफ़ॉल्ट रूप से 5)
  • हार्ड: उन्नयन या कस्टम Infinispan संस्करण का उपयोग करने org.jboss.as.clustering.infinispan मॉड्यूल को संशोधित
  • बेतुका: WildFly साथ प्रदान किए गए संचय बुनियादी ढांचे डंप और उपयोग करते समय स्वयं बंडल और आवेदन में कॉन्फिगर
संबंधित मुद्दे