Grails: Cannot invoke method sendEmail() on null object when using in service -
मैंने एक सेवा से ईमेल करने के लिए, किसी अन्य विधि जब मैं मुझे समझा गया कि ठीक है, यह स्पष्ट है:) ) फिर निर्भरताएं वसंत के साथ कभी भी आबादी नहीं होंगी। आपको इसे NotifierService
वर्ग NotifierService { MailService मेल सेवा डीईएफ़ ईमेल (स्ट्रिंग ईमेल) {mailService.sendMail {"myemail@domain.com" विषय से "विषय" विषय "कुछ पाठ"}}}}
updateUser में
DbService सेवा
class DbService {NotifierService NotifierService def} में
sendEmail विधि को कॉल करने की कोशिश कर रहा हूँ UpdateUser () {// कुछ तर्क // यूज़र ऑब्जेक्ट डीईएफ़ ईमेल = यूज़रऑब्जेक्ट.ईमेल // भेजें ईमेल भेजें {notifierService.sendEmail (ईमेल)} पकड़ (अपवाद ई) {e.printStackTrace ()}} // अन्य विधियां । । }
sendEmail विधि को
बूटस्ट्रैप में कॉल करता हूं, लेकिन जब मैं इसे
डीबीएसवाइस <पूर्व>
| त्रुटि java.lang.NullPointerException: नल ऑब्जेक्ट पर विधि sendMail () को लागू नहीं किया जा सकता है | Org.codehaus.groovy.runtime.NullObject.invokeMethod पर त्रुटि (NullObject.java:77) | Org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call पर त्रुटि (PogoMetaClassSite.java 45) | Org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall (CallSiteArray.java45) पर त्रुटि | Org.codehaus.groovy.runtime.callsite.NullCallSite.call पर त्रुटि (NullCallSite.java:32) | Org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall पर त्रुटि (CallSiteArray.java45)
मेल सेवा में
NotifierService
DbService में इसका उपयोग करते समय आरंभ नहीं किया जाता है मैं इसे कैसे हल कर सकता हूं?
DbService एक grails-job
वर्ग MyJob में प्रारंभ होता है {DbService dbService = new DbService () स्थिर ट्रिगर = {// प्रारंभ विलंब: 30000 (30sec), दोहराएँ: 120000 (2 * 60 * 1000 = 2 मिनट) सरल नाम: 'myJobTrigger', प्रारंभ करें: 30000, पुनरावृत्ति अंतराल: 120000, दोहराएँकाउंट: -1} def चलाना () { Println "**************************************************************************************************** ******* "println" MyJob: "+ नई तिथि () println" ************************************************************************************ ********************************* "dbService.updateUser ()}}
DbService dbService = new DbService (क्लास = "पोस्ट-टेक्स्ट" आइटमप्रॉप = "टेक्स्ट">
un-initialized छोड़ना होगा ताकि सेवा इंजेक्ट हो जाए आवेदन संदर्भ से:
वर्ग MyJob {DbService dbService // या def dbService}
Comments
Post a Comment