के बीच जावा ईई 6 शेयर उदाहरण मुझे लगता है कि मुझे यहां बुनियादी समझ की समस्या है और मुझे उम्मीद है कि कोई मुझे यह समझा सकता है।राज्य EJBs
चलें कहते हैं कि हम एक स्टेटफुल EJB_A और स्टेटफुल EJB_B और एक sessionscoped ManagedbeanA है:
@Stateful
@LocalBean
public class EJB_A {
}
@Stateful
@LocalBean
public class EJB_B {
@EJB
EJB_A ejb;
}
@ManagedBean
@SessionScoped
public class ManagedBeanA {
@EJB
EJB_A ejb;
}
ManagedBeanA में, EJB_A बनाई गई है। अब जब मैं ईजेबीबी का उपयोग करता हूं, जिसमें संपत्ति के रूप में EJB_A है, तो EJB_A का एक नया उदाहरण EJB_B के भीतर बनाया गया है। यह EJB_A का एक ही उदाहरण नहीं है जो पहले प्रबंधित बीनए में बनाया गया था।
मुझे यह समझ में नहीं आ रहा है, क्योंकि मैंने सोचा था कि राज्य के ईजेबी का पूरा बिंदु यह है कि प्रत्येक क्लाइंट के लिए केवल एक उदाहरण बनाया जाता है और ईजेबी-कंटेनर द्वारा साझा और प्रबंधित किया जाता है। क्या कोई मुझसे इसकी व्याख्या करेगा? और कृपया यह भी समझाएं कि मैं कैसे प्राप्त कर सकता हूं कि ईजेबी का एक ही उदाहरण कई अन्य ईजेबी द्वारा साझा किया जाता है?
आप
जब आप कहते हैं कि मिश्रित " अब जब मैं ईजेबीबी का उपयोग करता हूं "इसका मतलब क्या है? आपने यह कैसे सत्यापित किया कि यह वही उदाहरण नहीं है? –
जब मैं EJB_B को instianciate और EJB_A की गुणों (उदा। एक स्ट्रिंग-प्रॉपर्टी) को देखता हूं, तो EJB_A बीन के गुण EJB_A के गुणों से भिन्न होते हैं जो प्रबंधित बीन द्वारा instanciated था। – user1727072
आप कहां 'instanciate' EJB_B; किसी अन्य प्रबंधितबेन या जावा क्लाइंट (रिमोट लुकअप) के भीतर? –