1

いくつかの小さなUIコンポーネントとドメインアクセスを備えたGrailsアプリがありますが、ほとんどの場合、Spring Integrationプロセスを実行して、メールをポーリングして読み取り、結果を処理しています。

環境に基づいてメールターゲットを設定できるようにしたい。

次のSpringIntegrationXMLスニペットがありresources.xmlます。

<mail:inbound-channel-adapter id="imapAdapter"
          store-uri="imaps://myEmailAddress:myPassword@imap.gmail.com/INBOX"
          java-mail-properties="javaMailProperties"
          channel="receiveEmailChannel"
          should-delete-messages="false"
          should-mark-messages-as-read="true"
          auto-startup="true">
    <int:poller max-messages-per-poll="1" fixed-rate="15" time-unit="SECONDS">
    </int:poller>
</mail:inbound-channel-adapter>

次の環境固有の構成スニペットがありますConfig.groovy

environments {
    development {
        email.store.ui = 'imaps://myDevEmailAddress:myDevPassword@imap.gmail.com/INBOX'
    }
    test {
        email.store.ui = 'imaps://myTestEmailAddress:myTestPassword@imap.gmail.com/INBOX'
    }
    production {
        email.store.ui = 'imaps://myProdEmailAddress:myProdPassword@imap.gmail.com/INBOX'
    }
}    

email.store.ui定義Config.groovyをのstore-ui属性に関連付けるにはどうすればよいresources.xmlですか?

4

2 に答える 2

3

GrailsはPropertyPlaceholderConfigurer、から値を取得するを設定するConfig.groovyため、通常のSpringプロパティプレースホルダー構文が機能するはずです。

store-uri="${email.store.ui}"
于 2012-08-27T21:11:49.323 に答える
0

ページの一番下まで読むべきだったと思います...答えはセクション15.5プロパティプレースホルダーの構成にあります

私はちょうど必要でした:

<mail:inbound-channel-adapter id="imapAdapter"
          store-uri="${email.store.ui}"
          java-mail-properties="javaMailProperties"
          channel="receiveEmailChannel"
          should-delete-messages="false"
          should-mark-messages-as-read="true"
          auto-startup="true">
    <int:poller max-messages-per-poll="1" fixed-rate="15" time-unit="SECONDS">
    </int:poller>
</mail:inbound-channel-adapter>

ナッジをありがとう。

于 2012-08-27T21:11:57.627 に答える