2017-11-21 9 views
0

Verwenden Sie sehr alte Grails Ich brauche einen Service von einer statischen Funktion. Dies kann mit ApplicationContext getan werden, aber von den aussieht es wird nicht von Grails unterstützt. Gibt es einen anderen Weg ... bitte Hilfe.Grails 1.3.9 erhalten Service von ApplicationContext

import grails.util.* 


SchedulerService schedulerService = grails.util.Holders.applicationContext.getBean('schedulerService') as SchedulerService 

Fehler ich erhalte, ist:

groovy.lang.MissingPropertyException: No such property: grails for class: com.digithurst.global.domain.SchedulerService 
+0

Ich habe noch nie so eine alte Version von Grails verwendet. Ihr Fehler liegt daran, dass grails.util.Holders nicht in Grails 1.3.9 existiert. Vielleicht versuchen Sie es mit: http://docs.grails.org/1.3.9/api/org/codehaus/groovy/grails/commons/ApplicationHolder.html Dieses Sie die grailsApplication gibt statisch (wie es scheint) und von dort kann die Bohne bekommen. – adamcooney

+0

Grails 1.3.x war eine sehr stabile Version. Übrigens können Sie versuchen, org.springframework.context.ApplicationContext zu importieren – devbd

Antwort

0

Versuchen mit import org.springframework.context.ApplicationContext

0

Sie die ApplicationHolder können Sie eine Bohne aus dem Kontext erhalten.

import org.codehaus.groovy.grails.commons.ApplicationHolder 

def schedulerService = ApplicationHolder.application.mainContext.getBean('schedulerService') 
Verwandte Themen