2012-09-10 28 views
5

मैं जेबॉस 5.1 से जेबॉस 7.1 तक कोड को अपग्रेड करने पर काम कर रहा हूं और यह विफल रहता है अगर इन विधियों को संसाधन एडाप्टर में स्पष्ट रूप से लागू नहीं किया गया है। मैं प्रत्येक की अवधारणा को समझता हूं, और दोनों के बीच अनुबंध के बारे में जानता हूं। मैं उनसे कैसे कार्यान्वित करना है या उनका क्या मतलब है, इस बारे में नहीं पूछ रहा हूं। मैं विशेष रूप से पूछ रहा हूं कि उन्हें जावा ईई 6 कोड के लिए क्यों लागू किया जाना चाहिए (इस मामले में जेबॉस एएस 7.1)।जावा ईई 6 को संसाधन एडाप्टर के लिए बराबर() और हैशकोड() को लागू करने की आवश्यकता क्यों है?

वहाँ उन्हें में सोचा था की एक बहुत डाल करने के लिए एक अच्छा कारण है या यह करने के लिए पर्याप्त है बस है:

boolean equals(Object obj) { return super.equals(obj) ; } 
int hashCode() { return super.hashCode() ; } 
+0

साथ को निष्क्रिय आप कहां दिखाई देते हैं कि उन के लिए आवश्यक हैं की आवश्यकता होगी? स्टार्टअप पर –

+0

। क्षमा करें, पहली बार पोस्ट करें, टैग टाइप करते समय एंटर दबाएं और यह प्रश्न पोस्ट करें। बस संपादित –

+0

दिलचस्प, इस मुद्दे के लिए Google हिट्स के बहुत सारे प्रतीत होते हैं ('" एक संसाधन एडाप्टर को "सार्वजनिक बूलियन बराबर (ऑब्जेक्ट)" विधि लागू करना होगा। ") लेकिन कोई वास्तविक स्पष्टीकरण _why_ यह आवश्यक नहीं है। –

उत्तर

1

मुझे लगता है कि इस वजह से यहां निम्नलिखित

चेकआउट ManagedConnectionFactory की है।

यह एक इंटरफ़ेस है और इसमें equals() और hashCode() विधियां हैं। तो बेसिक जावा, पहली कंक्रीट क्लास जो इंटरफ़ेस लागू करती है उसे इंटरफ़ेस के सभी तरीकों को परिभाषित करना होगा। जो आपका संसाधन एडाप्टर कार्यान्वित किया जाना चाहिए, इसलिए इसे इन विधियों को परिभाषित करना होगा

यहां A resource adapter needs to implement ManagedConnectionFactory देखें।

उपरोक्त प्रश्न के अनुसार, JCA 1.6 कल्पना के अनुसार हम के लिए

A resource adapter must provide implementations of the following interfaces: 

javax.resource.spi.ManagedConnectionFactory 
javax.resource.spi.ManagedConnection 
javax.resource.spi.ManagedConnectionMetaData 

कौन सा 1.5

तो साथ मामला नहीं था कार्यान्वयन प्रदान करने की आवश्यकता यही वजह है कि यह मान्यता

दौरान त्रुटि देता है

जेसीए वैलिडेटर संस्करण 1.6 के साथ और अधिक कठोर हो गया है, इस प्रकार त्रुटि।

इस बारे में कुछ भी स्पष्ट नहीं है, इंटरनेट पर बहुत सारे प्रश्न और पोस्ट एक ही मुद्दे के बारे में हैं। मैंने पाया कि सबसे अच्छा संभव स्पष्टीकरण कनेक्शन कारखाना प्रदान करने की "आवश्यकता" थी।

इसके अलावा मामले में आप त्रुटि को बायपास करने की जरूरत है, आप या तो JCA 1.5 करने के लिए स्विच या 1.6