2010-11-24 10 views
6

एक विधि पर लागू एनोटेशन है जब EJB deserialized है? मेरे पास एक ईजेबी टाइमर है जो कंटेनर द्वारा जारी रहता है और जानना चाहता है कि क्या क्षणिक TimerService (यह धारावाहिक नहीं है) ईजेबी को deserialized जब फिर से इंजेक्शन दिया जाएगा।क्या एक स्टेटलेस ईजेबी deserialized है जब @Resource एनोटेशन लागू किया गया है?

+1

उत्कृष्ट प्रश्न। कोई जवाब नहीं है कि जवाब क्या है ... –

+0

क्या आपका मतलब "सक्रिय" (उत्तीर्ण होने के बाद) है? – Bozho

+0

मुझे लगता है कि इसे आजमाने में मुश्किल नहीं होगी। – Bozho

उत्तर

3

शायद यह लेख में मदद:

  • What is the Stateless Session Bean Life Cycle?: राज्यविहीन सत्र EJB निर्माण समय में इंजेक्ट किया जाता है, और उसके जीवन समय के साथ यह के संसाधनों रहता है।

  • What is the Life Cycle of a Stateful Session Bean?: ऐसा लगता है कि निर्भरता इंजेक्शन केवल निर्माण समय पर होता है। वैसे भी, सक्रियण के बाद, @PostActivate कॉलबैक हैंडलर का आह्वान किया जाता है, जहां आप अपने क्षणिक तत्वों को पुनर्प्राप्त कर सकते हैं। इस विषय है, जो सामने आ रहा है की पुष्टि करता है पर जावा ईई ट्यूटोरियल लिंक जोड़ने के लिए

संपादित करें: एक निष्कर्ष के रूप में,

तो, जवाब नहीं है, कंटेनर सक्रियण के बाद फिर से आपके क्षणिक संसाधनों को इंजेक्ट नहीं करेगा, लेकिन आप इसे अपने स्वयं के माध्यम से करने के लिए पोस्टएक्टिवेट हैंडलर को कार्यान्वित कर सकते हैं।

+0

'जेईई ट्यूटोरियल' लिंक के लिए धन्यवाद। स्टेटलेस बीन्स पर (http://download.oracle.com/javaee/5/tutorial/doc/bnbmt.html#bnbmw) 'क्योंकि एक स्टेटलेस सत्र बीन कभी भी निष्क्रिय नहीं होता है, इसके जीवन चक्र में केवल दो चरण होते हैं: nonexistent और इसके लिए तैयार व्यापार विधियों का आविष्कार। 'टाइमर ईजेबी सबसे अधिक क्रमबद्ध क्रमबद्ध है ताकि यह सर्वर पुनरारंभ करने में मौजूद हो। हालांकि जब इसकी आवश्यकता होती है और उपलब्ध नहीं होती है, तो नया उदाहरण हमेशा बनाया जाता है, और निर्भरता इंजेक्शन काम करेगा। – n002213f

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