在我的Grails應用程序中,需要允許在每個「組織」的基礎上向用戶顯示不同的文本,但如果不覆蓋,則會退回到從messages.properties中讀取文本文本是爲組織定義的。具有DatabaseMessageSource的Grails異步郵件插件
我正在使用類似於詳細的here的方法,該方法在http請求的範圍內工作良好,但是現在我還需要在每個組織的基礎上定義電子郵件內容,因爲電子郵件是有問題的異步發送(使用異步郵件插件)。我目前的resolveCode()
實施看起來是這樣的:
public MessageFormat resolveCode(String code, Locale locale) {
Message msg = null
try {
Organisation currentOrganisation = currentOrganisationSessionProxy.currentSessionOrganisation
msg = Message.findByCodeAndLocaleAndOrganisation(code, locale, currentOrganisation)
} catch (Exception e) {
//handle exception
}
def format
if (msg) {
format = new MessageFormat(msg.text, msg.locale)
} else {
format = messageBundleMessageSource.resolveCode(code, locale)
}
return format
}
我稍微修改了DatabaseMessageSource實現,因爲我需要解決使用會話範圍代理當前的「會話」組織。
任何人都可以提出一個好的方法異步發送本地化,組織特定的電子郵件嗎?我想我需要堅持組織ID與電子郵件,然後檢索一些如何在我的DatabaseMessageSource
。任何幫助表示讚賞。