2013-05-16 5 views
1

Я только начал исследовать структуру Грааля и первую задачу, которую я пытаюсь решить, отправляет электронную почту. В основном уроке и ответах сообщества предоставлено много информации для быстрого запуска, и да, я создал простое приложение с возможностью отправки электронной почты. Но следующий момент моего расследования заключался в изменении конфигурации почты во время выполнения. Итак, первая моя конфигурация в Config.grovy былаИзменение конфигурации почты во время выполнения

grails { 
    mail { 
     host = "" 
     port = 0 
     username = "" 
     password = "" 
     props = [""] 
    } 
} 

со значениями, и все работали corectlly, после того, что я пытался заново сконфигурировать его как тот

grailsApplication.config.grails.mail.host = "smtp.gmail.com" 
grailsApplication.config.grails.mail.port = 465 
grailsApplication.config.grails.mail.username = "" 

от контроллера и обнаружил, что почта отправляет со старого адреса, после отладки я обнаружил, что в почтовых плагинах есть автообновленные экземпляры, такие как mailSender, и одно очевидное решение - воссоздать mailSender и переустановить его, но, судя по политике Spring Singleton, будет сложно решение, поэтому, Мой квест ion Существуют ли возможности перенастроить почту во время выполнения без перезагрузки классов?

Спасибо.

+0

Я думаю, что ожидаемое поведение является одним из [TODO] (http://grails.org/plugin/mail) пунктов для плагина. – dmahapatro

+0

2dmahapato, да, вы правы, так что, будем ждать реализации этой функции, в текущем тестовом проекте будет использовать мое решение, спасибо –

ответ

1

Фиксированных с использованием повторно INIT mailsender экземпляра, но в ожидании других решений, спасибо

mailSender.setHost("smtp.gmail.com") 
mailSender.setPort(465) 
mailSender.setJavaMailProperties(new Properties() { 
    { 
     put("mail.smtp.auth", "true"); 
     put("mail.smtp.socketFactory.port", "465"); 
     put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); 
     put("mail.smtp.socketFactory.fallback", "false"); 
    } 
}) 
+0

Вы заметили другие решения? – Rafael

+0

Может ли это возникнуть при одновременных проблемах при использовании в многопоточной среде? – Rafael

Смежные вопросы