2


メールを受信するように inbound-channel-adapter を構成し、fixed-delay = 15000 でポーラーをセットアップしました。max
-messages-per-poll が低い値 (メールボックス フォルダー内のメッセージ数より少ない) に設定されている場合)、トリガーは 15 秒ごとに正しく起動します。
ただし、max-messages-per-poll が高い値に設定されている場合、Pop3MailReceiver は約 2 秒ごとに呼び出され、fixed-delay または cron 設定は考慮されません。
私のせいはどこですか?
よろしくお願いします。

<util:properties id="javaMailProperties">
    <prop key="mail.pop3.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop>
    <prop key="mail.pop3.socketFactory.fallback">false</prop>
    <prop key="mail.store.protocol">pop3s</prop>
</util:properties>

<mail:inbound-channel-adapter id="mailAdapter"
              store-uri="pop3s://xxxxxxxxxx%40xxxxxxxxx.xxxxx:xxxxxxxxx@xxxxxxx:xxx/inbox"
              channel="receiveEmailChannel"
              should-delete-messages="false"
              java-mail-properties="javaMailProperties"
              auto-startup="false">
        <int:poller max-messages-per-poll="10" fixed-delay="15000"/>
</mail:inbound-channel-adapter>

<int:control-bus input-channel="receiveEmailChannel"/>

<int:channel id="receiveEmailChannel">
    <int:interceptors>
        <int:wire-tap channel="logger"/>
    </int:interceptors>
</int:channel>

<int:logging-channel-adapter id="logger" level="DEBUG"/>

<int:service-activator input-channel="receiveEmailChannel" ref="mailNotificationDetector" method="receive"/>
4

1 に答える 1

2

ドキュメントによると、これは予想される動作のように聞こえます。ポーリングは、max-messages-per-poll 数が満たされるまで繰り返し実行されます。

したがって、ポーリングあたりの最大メッセージ数が低い場合、この数は、おそらくかなり迅速に完了したいくつかのポーリング呼び出しによって満たされ、クリーンな固定遅延呼び出しが表示されました。max-messages-per-poll が高い場合、max-messages-per-poll 呼び出しを満たすには、おそらくかなりの数のポーリング呼び出しが必要でした。

于 2012-11-14T18:31:05.260 に答える