メール プラグインは、Config.groovy での設定が必要であることが文書化されています。実行時に変更できるように、データベースに保存したいと考えています。そして、これはほんの一例です。
私は読んだ しかし、これは外部プロパティ ファイルの使用に関するものであり、データベースに設定を保存する必要があります (アプリには管理インターフェイスがあり、監査などがあります)。
ありがとうございました。
メール プラグインは、Config.groovy での設定が必要であることが文書化されています。実行時に変更できるように、データベースに保存したいと考えています。そして、これはほんの一例です。
私は読んだ しかし、これは外部プロパティ ファイルの使用に関するものであり、データベースに設定を保存する必要があります (アプリには管理インターフェイスがあり、監査などがあります)。
ありがとうございました。
はい、できます。を使用した grails ブートストラップ プロセス中にBootstrap.groovy
、データベースからプロパティを取得してオーバーライドします。これはプロパティ ファイルのオーバーライドに似ており、それらをデータベースに保存するだけです。
データベース内のプロパティも参照してください
値を動的に変更する最初の方法:
grailsApplication.config.grails.mail.put("port",your database fetch value of port)
grailsApplication.config.grails.mail.put("username","your database fetch value of username")
grailsApplication.config.grails.mail.put("password","your database fetch value of username")
grailsApplication.config.grails.mail.put("props","your database fetch value of username")
値を動的に変更する 2 番目の方法:
org.codehaus.groovy.grails.commons.DefaultGrailsApplication
DefaultGrailsApplication クラスは、構成に関するすべての情報を提供します。次のコードを使用して電子メール情報を取得し、動的に変更できます。
def defaultGrailsApplication= new DefaultGrailsApplication()
// to get mails information from Config.groovy
defaultGrailsApplication?.config?.grails.mail?.get("host")
defaultGrailsApplication?.config?.grails.mail?.get("port")
defaultGrailsApplication?.config?.grails.mail?.get("username")
defaultGrailsApplication?.config?.grails.mail?.get("password")
defaultGrailsApplication?.config?.grails.mail?.get("props")
// to change mails information of Config.groovy
defaultGrailsApplication?.config?.grails.mail?.put("host","your database fetch value of host")
defaultGrailsApplication?.config?.grails.mail?.put("port",your database fetch value of port)
defaultGrailsApplication?.config?.grails.mail?.put("username","your database fetch value of username")
defaultGrailsApplication?.config?.grails.mail?.put("password","your database fetch value of username")
defaultGrailsApplication?.config?.grails.mail?.put("props","your database fetch value of username")
次に、この「defaultGrailsApplication」インスタンスを割り当てて、アプリケーションの値を注入する必要があります。次のように grailsApplication が注入された 1 つのクラス サービス Temp.service があると仮定します。
Temp.service
class Temp{
def grailsApplication
def your method(){
please add above code for set value
grailsApplication = defaultGrailsApplication
}
}