मुझे कई साथी डेवलपर्स से बार-बार "सुझाव" मिल रहा है। मेरे अनुभव में मैंने पाया है कि ईजेबीएक्सप्शन बीन इंस्टेंस परिप्रेक्ष्य से "दुनिया के अंत" के लिए उपयुक्त हैं (जैसे कि कुछ गलत है कि बीन इंस्टेंस स्वयं ठीक नहीं हो सकता है)। यदि कोई उदाहरण ठीक हो सकता है, तो मुझे लगता है कि एप्लिकेशन अपवाद फेंकना बेहतर है।क्यों एक ईजेबीएक्सप्शन फेंकना एक "अनुशंसित" अभ्यास है?
private SomeResource resource; ejbCreate: resource = allocateResource(...); omMessage: try { ... } catch (JMSException e) { throw new EJBException(e); } ejbRemove: freeResource(resource);
IMHO यह एक antipattern कि संसाधन लीक का कारण बनता है:
यहाँ पैटर्न है कि मैं बार बार मिलते हैं।
संपादित: विशेष रूप से, EJB विनिर्देश का कहना है कि अगर एक सेम व्यापार विधि से एक क्रम अपवाद फेंकता है (और EJBException एक क्रम अपवाद नहीं है), तो सेम उस पर ejbRemove बुला बिना त्याग दिया जाता है।
क्या यह एक ईजेबीएक्सप्शन फेंकने के खिलाफ एक प्रासंगिक उदाहरण है? ईजेबीएक्सप्शन फेंकने पर प्रासंगिक मामले क्या हैं?
@vinny_g: मैंने अपने (अब हटाए गए) "उत्तर" पर आपकी टिप्पणी से स्पष्टीकरण जोड़ा है। –