मुझे पता था कि स्टेटफुल सेम, विभिन्न उदाहरण विधि कॉल के बीच बातचीत के सत्र, लेकिन राज्यविहीन इच्छा not.My सवाल बनाए रखने के मान मैं की तरहअंतर
नीचेimport javax.ejb.Stateful;
import javax.ejb.Stateless;
import com.tata.ejb3.data.HelloEJBInterface;
@Stateless
public class ValueEJB implements ValueEJBInterface{
private int value;
@Override
public int getValue() {
return this.value;
}
@Override
public void setValue(int value) {
this.value = value;
}
}
मैं एक राज्यविहीन सेम कार्यान्वयन है मेरी सेम ग्राहक (ए सर्वलेट) जो
@EJB(mappedName="E/ValueEJB /remote")
ValueEJBInterface value;
....
value.setValue(250);
System.out.println(value.getValue());//This statement prints the value 250
....
नीचे के रूप में सेम मंगलाचरण शुरू की मेरी सेम के रूप में मेरी समझ के अनुसार राज्यविहीन सेम यह मूल्य के साथ प्रदर्शित नहीं करना चाहिए है 250.
012,निजी int मूल्य; एक तत्काल चर है, यदि एक स्टेटलेस विधि अपना मान निर्धारित करती है, तो मूल्य विधि निकास पर समाप्त हो जाएगा। लेकिन यहां, मैं अपनी दूसरी विधि कॉल के माध्यम से भी '250' मान प्राप्त करने में सक्षम हूं। क्या यह स्टेटलेस अवधारणा का उल्लंघन है? क्या मुझे कुछ कमी है?
Okay.You हैं सही है.अगर मैं गलत नहीं हूँ, इसी तरह के परिदृश्य EJB2.0 में अलग तरह से व्यवहार/Weblogic EJB कंटेनर, जहाँ मेरे EJB ग्राहक getValue के रूप में 0 है, मेरी अगली कॉल पर मतलब है, कंटेनर के साथ परोसा एक अलग ejb उदाहरण। – ASChakkalakal