MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

मोंगोडीबी के लिए जेएनडीआई लुकअप के दौरान क्लासकास्ट अपवाद, डब्ल्यूएबी के अंदर, लिबर्टी चल रहा है

वर्तमान में mongodb-2.0 . का उपयोग करने का कोई तरीका नहीं है OSGi एप्लिकेशन के साथ सुविधा।

एक com.mongodb.DB खोज रहे हैं संसाधन आपको DBApiLayer का एक उदाहरण वापस लौटाएगा , लेकिन यह मुद्दा नहीं है (चूंकि DBApiLayer DB का विस्तार करता है ) ऐसा करने पर भी आपको ClassCastException मिलेगा:

DBApiLayer db = (DBApiLayer) new InitialContext().lookup("java:comp/env/mongodb");

फेंक देंगे:

java.lang.ClassCastException: com.mongodb.DBApiLayer incompatible with com.mongodb.DBApiLayer

इस सीमा का कारण यह है कि mongodb-2.0 सुविधा com.mongodb कक्षाओं को लोड करने के लिए लिबर्टी से एक क्लासलोडर का उपयोग करेगी, और एक OSGi एप्लिकेशन com.mongodb कक्षाओं को लोड करने के लिए एक अलग क्लासलोडर का उपयोग करेगा, चाहे आप चीजों को कैसे भी कॉन्फ़िगर करें।

सामान्य जावा ईई अनुप्रयोग इस तरह से काम कर सकते हैं:

<library id="MongoLib">
    <file name="${server.config.dir}/lib/mongo-java-driver-2.11.4.jar"/>
</library>

<application name="myApp">
    <classloader commonLibraryRef="MongoLib"/>
</application>

हालांकि, <osgiApplication> तत्वों में वह क्षमता नहीं है। दुर्भाग्य से, यहाँ एकमात्र समाधान IBM के साथ RFE खोलना है (या इसके लिए RFE पहले से मौजूद होने पर अपवोट करना है)।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. IdMemberMap प्रतिनिधित्व क्रमांकन विकल्प का उपयोग कर रिक्त है

  2. प्रदर्शन परीक्षण के लिए स्कैला के साथ मोंगोडीबी में 100 मिलियन रिकॉर्ड कैसे लोड करें?

  3. स्क्रैपी और मोंगोडीबी के साथ वेब स्क्रैपिंग और क्रॉलिंग

  4. Mongoose कॉलबैक में कौन से पैरामीटर पास किए जाते हैं

  5. नेवला और नई स्कीमा:संदर्भ त्रुटि देता है:स्कीमा परिभाषित नहीं है