2017-07-05 8 views
5

मैं एक वर्ग है जो इस तरह दिखता है मैं देखता हूं कि परीक्षण कब चलता है, यह वर्ग के उदाहरण के object id है कि test() विधि जिस पर कॉल किया गया है, उदाहरण के समान नहीं है जिस पर init() विधि कहा जाता है।एक @Singleton OpenEJB सेम वर्तमान के कई उदाहरण

व्यवहार अजीब लगता है।

सबसे पहले, मेरी समस्या कैसे ठीक की जा सकती है? मैं उसी वस्तु पर विधियों को कॉल करना चाहता हूं और फिर उसी वर्ग पर अलग-अलग उदाहरण नहीं चाहता हूं।

दूसरा, क्यों कंटेनर एकाधिक @Singleton एस को तुरंत चालू करेगा?

उत्तर

1

क्या आपका इंटरफ़ेस @Remote या स्थानीय है? यदि यह अपनी @Local परिवर्तन @Remote रहे हैं:

"EJB विनिर्देश किसी भी व्यवहार की गारंटी नहीं है जब आप संचार अंतर-मॉड्यूल के लिए स्थानीय व्यापार इंटरफेस का उपयोग भले ही उन मॉड्यूल एक ही आवेदन का हिस्सा हैं सर्वर/जेवीएम। "

https://coderanch.com/mobile/t/608212/java/instances-Singleton-EJB

+0

मुझे लगता है मेरे आवेदन, अंतर-मॉड्यूल संचार की सुविधा नहीं है, हालांकि मैं एक छोटे से क्या एक "मॉड्यूल" माना जाता है के रूप में उलझन में हूँ। परीक्षण करते समय, अनुप्रयोगकंपोजर को मॉड्यूल एनोटेशन द्वारा सुझाए गए अनुसार एक एकल मॉड्यूल बनाना होता है। चलते समय, एप्लिकेशन को एक वेब के रूप में तैनात किया जाता है जिसमें एक वेब.एक्सएमएल होता है, जिसमें कई जार होते हैं, प्रत्येक के साथ beans.xml डिस्क्रिप्टर होता है। जहां तक ​​मैं कह सकता हूं, इसे एक "मॉड्यूल" माना जाता है। Serialization-deserialization दंड और जटिलताओं को रोकने के लिए, मैं इंटरफ़ेस रिमोट बनाने से बचना चाहता हूं। धन्यवाद। – alex440

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