Groovy - 当我调用服务方法时NullPointerException

时间:2015-11-19 09:52:19

标签: grails service groovy nullpointerexception

当我运行我的工作(谁调用服务类)时,我得到一个NullPointerException,如下所示:

Caused by NullPointerException: null
->> 184 | doCall  in GrailsMelodyGrailsPlugin$_closure4_closure16_closure17
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    25 | doCall  in ppf.ExportFichierService$_tt__lancerTraitements_closure3_closure4
|    23 | doCall  in ppf.ExportFichierService$_$tt__lancerTraitements_closure3
|    12 | $tt__lancerTraitements in ppf.ExportFichierService
|   184 | doCall  in GrailsMelodyGrailsPlugin$_closure4_closure16_closure17
|    13 | execute in ppf.ExportFichierJob
|   104 | execute in grails.plugins.quartz.GrailsJobFactory$GrailsJob
|    27 | execute in grails.plugins.quartz.QuartzDisplayJob
|   202 | run . . in org.quartz.core.JobRunShell
^   573 | run     in org.quartz.simpl.SimpleThreadPool$WorkerThread

包ppf

import grails.transaction.Transactional

@Transactional
class ExportFichierService extends FichierService {

    def getPaiementsAExporter(def creancier) {}

    def lancerTraitements() {
        log.info "Entree dans la methode lancer traitement"
        Creancier.fichierExportables.each { creancier ->
            def instanceTypeFichier = [  new ExportFichierPaiementsOrdreService() ]
            log.info "Instance de fichier:${instanceTypeFichier}"
            if (creancier.deleted == false) {
                log.info "${creancier.deleted}"
                instanceTypeFichier.each { it ->
                    log.info "Instance: ${it}"
                    it.exporter(creancier)
                }
            }
        }
    }
}

def exporter(def creancier) {
    def paiements = getPaiementsAExporter(creancier)
        if (paiements.count() > 0) {
            def fichierPaiementsOrdre = creationFichier(paiements, creancier)
            exporterPaiements(fichierPaiementsOrdre, paiements)
            sauvegarderFichier (fichierPaiementsOrdre, paiements, creancier)
        }
    }

请帮助我知道为什么它无法正确调用方法导出器

1 个答案:

答案 0 :(得分:1)

最后我找到了解决方案而不是像我这样的实例[new xxxService]我注入它并且它可以工作