मैंने कुछ नई जेबॉस टाइम सेवा लिखना शुरू कर दिया है जिसका मतलब कुछ मौजूदा सीम घटकों का उपयोग करना था। लेकिन ऐसा लगता है कि मैं गैर-मौजूदा संदर्भों के कारण इन घटकों तक नहीं पहुंच सकता। क्या जेएसएफ के साथ सामान्य स्थिति के अलावा उन्हें उपयोग करना संभव है?क्या जेबॉस समय सेवा में सीम का उपयोग करना संभव है?
प्रदर्शित करने के लिए मुझे क्या करना चाहते हैं एक छोटी सी टुकड़ा ...
@Service
public class MyService extends DefaultTimedService implements TimedObject, DefaultServiceInterface {
@Timeout
public void ejbTimeout(Timer timer) {
MyInterface loader = (MyInterface) Component.getInstance(MyInterface.SEAM_NAME, true);
// throws no context!
}
}
कि उदाहरण के लिए निम्नलिखित अपवाद फेंकता है:
java.lang.IllegalStateException: No application context active
at org.jboss.seam.Component.forName(Component.java:1945)
at org.jboss.seam.Component.getInstance(Component.java:2005)
धन्यवाद भी ... मैं इसे आज़मा दूंगा ... गंदे लग रहा है लेकिन प्रमोशन :) –
StartCall() मूल बातें ... अच्छी तरह से। अब मुझे अपने घटकों को काम करने के लिए कुछ अन्य पूर्व-स्थितियों को हल करना होगा। धन्यवाद! –
यहां एक और संकेत ... startCall() एक लेनदेन शुरू नहीं करता है और सभी EntityManager संचालन चुपचाप विफल हो जाते हैं। यदि startCall() und endCall() का उपयोग करना लेनदेन को संभालना अनिवार्य है! Transaction.instance() का उपयोग करके() शुरू करें() और Transaction.instance()। प्रतिबद्ध() मैं इसे वास्तव में कुछ वास्तविक करने के लिए प्राप्त कर सकता हूं। –