2010-07-15 18 views
6

में सामान्य तर्क शामिल मैं अपने खुद के ValidationMessage वस्तुओं की एक सूची लौट रहा एक EJB है:weblogic APPC: EJB ग्राहक जार

@Remote 
public interface Intf { 
    List<ValidationMessage> validateFile(); 
} 

मैं weblogic के APPC उपयोगिता के साथ EJB ग्राहक जार पैदा कर रहा हूँ। समस्या यह है कि इसमें क्लाइंट JAR में ValidationMessage क्लास शामिल नहीं है। शायद यह इस वर्ग की निर्भरता को नहीं देखता है क्योंकि यह केवल संकलित कोड को देखता है, जब सामान्य जानकारी पहले ही मिटा दी जाती है।
यदि मैं एक और डमी विधि जोड़ता हूं, जो इस कक्षा को सीधे इंटरफ़ेस में देता है, तो सब कुछ ठीक है।

@Remote 
public interface Intf { 
    List<ValidationMessage> validateFile(); 
    ValidationMessage dummy(); 
} 

मेरा प्रश्न है: क्या डमी विधि को जोड़ने के बिना इसे ठीक करने का कोई तरीका है? क्लाइंट JAR में एपीसी द्वारा क्या शामिल किया जाता है इसे नियंत्रित करने का कोई तरीका है?

उत्तर

0

यह वास्तविक उत्तर नहीं है और मुझे वेबलॉगिक या एपीसी उपयोगिता का कोई ज्ञान नहीं है।

ऐसा लगता है कि जेनरिक्स एरर समस्या की तरह दिखता है। validateFile() विधि से वास्तविक रिटर्न प्रकार कच्चा प्रकार List है; जबकि टाइपफॉर्म के पुनर्निर्माण के लिए क्लासफ़ाइल में अतिरिक्त जानकारी है, कुछ टूल उन्हें चेक नहीं करते हैं।

मैं भविष्यवाणी कर रहा हूं कि यदि आप किसी विधि पैरामीटर में लापता वर्ग का संदर्भ भी देते हैं तो यह समस्या दूर हो जाएगी।

+0

है कि वास्तव में क्या मैं प्रश्न में लिखा है: यह एक जेनरिक विलोपन समस्या है और इसे दूर जाना पड़ता कि आप एक डमी विधि उस वर्ग जिक्र जोड़ें। – unbeli

0

मुझे एपीसी के साथ एक सिमियल समस्या मिली जहां मैं जेएक्स-डब्ल्यूएस क्लाइंट के लिए जेनरेट किए गए कुछ POJOS को ओवरराइड करना चाहता था।

मैं इस विकल्प (आउटपुट) का इस्तेमाल किया एक को आउटपुट उत्पन्न करने के लिए निर्देशिका विस्फोट के बजाय एक ग्राहक ग्राहक निर्देशिका में अपनी अपेक्षित .class फ़ाइलों की एक चींटी की नकल jar.Do और अपने खुद के का एक जार पैदा करते हैं।

आप इस विकल्प को देख सकते हैं अगर आप 'जावा weblogic.appc' कर निष्पादित setEnv.cmd

आउटपुट एक वैकल्पिक उत्पादन संग्रह या निर्देशिका निर्दिष्ट करता है। यदि सेट नहीं किया गया है, तो आउटपुट स्रोत संग्रह या निर्देशिका में रखा जाएगा।

जांच अगर यह काम करता है

संबंधित मुद्दे