मैं एक प्रबंधित बीन चाहता हूं कि एप्लिकेशन लोड होने पर मेरे जेएसएफ वेब एप्लिकेशन में आंतरिक रूप से शुरू हो। मैं इस वर्ग को कैसे लिख सकता हूं और ग्लासफ़िश में कॉन्फ़िगर कैसे कर सकता हूं?स्टार्ट अप प्रबंधित बीन को कॉन्फ़िगर कैसे करें?
10
A
उत्तर
16
सीएसआई के साथ जेएसएफ में, observeapplication scope के initialization।
@Named
@ApplicationScoped
public class App {
public void startup(@Observes @Initialized(ApplicationScoped.class) Object context) {
// ...
}
public void shutdown(@Observes @Destroyed(ApplicationScoped.class) Object context) {
// ...
}
}
जब हाथों में OmniFaces होने, इस @Eager
साथ सरल किया जा सकता।
@Named
@Eager
@ApplicationScoped
public class App {
@PostConstruct
public void startup() {
// ...
}
@PreDestroy
public void shutdown() {
// ...
}
}
now deprecatedjavax.faces.bean
एनोटेशन के साथ JSF 2.2- में, एक application scopedmanaged bean जो eagerly प्रारंभ है का उपयोग करें।
@ManagedBean(eager=true)
@ApplicationScoped
public class App {
@PostConstruct
public void startup() {
// ...
}
@PreDestroy
public void shutdown() {
// ...
}
}
क्या आपने 'ManagedBean (उत्सुक = सत्य) 'की कोशिश की है? यदि आप सीडीआई (@ManagedBean के बजाय नामित) का उपयोग कर रहे हैं तो आपको ऐप प्रारंभ करने के लिए "निरीक्षण" करना होगा .. 'सार्वजनिक शून्य init (@Observes @ आरंभिक वेब अनुप्रयोग वेब अनुप्रयोग) {//कुछ करें} ' (वास्तव में मैंने ग्लासफ़िश में यह कोशिश नहीं की है, मैंने इसे जेबॉस एएस 7 में उपयोग किया है और आपको अन्य सर्वरों पर कुछ कॉन्फ़िगरेशन की आवश्यकता हो सकती है ... जांचें [यह] (http://stackoverflow.com/ प्रश्न/7347516/स्टार्टअप-पोजो-ऑन-ए-वेल्ड-सीम 3-एप्लिकेशन) बाहर ... – FMQ