grailsApplication не вводится в сервис, Grails 2.1.0

У меня есть служба, в которой я обращаюсь к нескольким свойствам конфигурации из приложения grailsApplication

Я впрыскиваю это так

    class MyWebService{
       def grailsApplication
       WebService webService = new WebService()

       def getProxy(url, flag){
        return webService.getClient(url)
      }

    def getResponse(){
     def proxy =  getProxy(grailsApplication.config.grails.wsdlURL, true)
     def response = proxy.getItem(ItemType)
     return response
   }
}

Когда я вызываю метод getProxy(), я вижу это в журналах Tomcat

Нет подписи метода: org.example.MyWebService.getProxy() не применимо для типов аргументов: (groovy.util.ConfigObject, java.lang.Boolean) значения: [[:], true] Возможные решения: getProxy(), getProxy(java.lang.String, boolean), setProxy(java.lang.Object)

что означает, что grailsApplication не внедряется в сервис, есть ли альтернативный способ доступа к объекту конфигурации? согласно сообщению burtbeckwith, почтовый держатель устарел, больше ни о чем не может думать.

Интересно, что та же самая служба отлично работает в моей локальной IDE(GGTS 3.1.0), это означает, что локально вводится приложение grailsApplication, но когда я создаю войну для развертывания на отдельном коте, он перестает быть введенным.

1 ответ

Решение

Я, кажется, понял проблему, фактически grailsApplication вставляется правильно, в противном случае он вызвал бы исключение нулевого указателя, я чувствую, что свойства конфигурации не добавляются. На самом деле сценарий такой: у меня есть отдельный пользовательский файл конфигурации, в котором хранятся данные конфигурации для разных сред, мое приложение слушает тип среды (переменная, заданная из tomcat) и на основе этого объединяет соответствующие свойства конфигурации из моей пользовательской конфигурации. файл. я думаю, что эти свойства, вероятно, не добавляются

Другие вопросы по тегам