2017-11-21 3 views
0

非常に古いGrailsを使用して、静的関数からサービスを取得する必要があります。これはApplicationContextを使って行うことができますが、その外観からはGrailsではサポートされていません。他の方法がありますか?ヘルプをしてください。私が手Grails 1.3.9 ApplicationContextからサービスを取得

import grails.util.* 


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

エラーは次のとおりです。

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

Grailsの古いバージョンは一度も使用していません。 Grails 1.3.9では、grails.util.Holdersが存在しないため、エラーが発生します。 おそらく使ってみてください:http://docs.grails.org/1.3.9/api/org/codehaus/groovy/grails/commons/ApplicationHolder.htmlこれは静的にgrailsApplicationを提供します。 Beanを取得できます。 – adamcooney

+0

Grails 1.3.xは非常に安定したバージョンでした。 Btw、 'import org.springframework.context.ApplicationContext'を試すことができます – devbd

答えて

0

は、あなたがメインのコンテキストからBeanを取得するためにApplicationHolderを使用することができます import org.springframework.context.ApplicationContext

0

で試してみてください。

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

def schedulerService = ApplicationHolder.application.mainContext.getBean('schedulerService') 
関連する問題