生产环境中的Grails服务返回Null

生产环境中的Grails服务返回Null,grails,grails-2.4,Grails,Grails 2.4,我使用的是Grails2.4.3,我有一个只在生产环境中返回null的服务。如果我在Dev环境中运行它,服务将正确响应。即使我使用Development生成war文件,它也可以工作,但是如果我使用生产环境(默认的grailswar)生成war文件,服务将返回null。我不确定在环境影响服务的情况下,是什么导致这种情况发生 我只发现了一个特定服务以这种方式响应的问题。项目中的所有其他服务似乎在所有环境中都正常工作 -更新- 详细说明所讨论的服务:该服务确实执行一些数据库查询并保存,在会话中获取一些

我使用的是Grails2.4.3,我有一个只在生产环境中返回null的服务。如果我在Dev环境中运行它,服务将正确响应。即使我使用Development生成war文件,它也可以工作,但是如果我使用生产环境(默认的grailswar)生成war文件,服务将返回null。我不确定在环境影响服务的情况下,是什么导致这种情况发生

我只发现了一个特定服务以这种方式响应的问题。项目中的所有其他服务似乎在所有环境中都正常工作

-更新- 详细说明所讨论的服务:该服务确实执行一些数据库查询并保存,在会话中获取一些信息并保存。它在类上标记为@Transactional。它还注入了两个助手服务,包括sessionFactory by convention def sessionFactory;def其他服务


我还尝试从应用程序上下文中获取bean,从与注入相关的声音中获取未找到的bean

我会跑 圣杯发动战争

从开发-看这是否会重新产生相同的问题:

将应用程序数据库置于调试模式,查看它是否与数据库相关: 如果这不能解决问题,下一次尝试将实际应用程序置于调试模式

这当然是一个服务,而不是groovy src文件或其他东西,为了将服务注入到其他调用中,您可以尝试: conf/spring/resources.groovy

为src/groovy文件创建一个条目:在本例中为GetDownloadConfig 定义注入:

getDownloadConfig(GetDownloadConfig) {
                grailsApplication = ref('grailsApplication')
                dnsService = ref('dnsService')
                jobReplaceService= ref('jobReplaceService')
                jenkinsService= ref('jenkinsService')
            }
然后在

class GetDownloadConfig {
    def jenkinsService
    def dnsService
    def jobReplaceService
    def grailsApplication


     // Or alternative method using holders - 
    //def grailsApplication = Holders.grailsApplication.mainContext.getBean 'grailsApplication'
    //def dnsService = Holders.grailsApplication.mainContext.getBean 'dnsService'
    //def jobReplaceService= Holders.grailsApplication.mainContext.getBean 'jobReplaceService'
    //def jenkinsService= Holders.grailsApplication.mainContext.getBean 'jenkinsService'
这可能也有帮助


服务在做什么?该服务是否正在从数据库检索数据?它肯定与天气条件相关:。复杂的