1

DB から電子メールの詳細を読みたいと思います。コネクタは次のようになります。

<jdbc:connector name="dbConnector" dataSource-ref="dataSource">
    <jdbc:query key="sqlQuery"
        value="SELECT from, to, subject, body FROM email WHERE status='PENDING'" />
    <jdbc:query key="sqlQuery.ack"
        value="UPDATE email SET status='IN PROGRESS' WHERE id=#[map-payload:id]" />
</jdbc:connector>

次に、これらの詳細を使用して、一連のメールを送信したいと思います。インバウンド エンドポイントは JDBC コネクタ、アウトバウンド エンドポイントは SMTP コネクタになると予想していますが、そのテーブルから読み取ったデータを保存して使用する方法がわかりません。Javaコードに頼らずにこれを行う方法はありますか?

4

1 に答える 1

1

目的を達成するには、トランスフォーマーを使用するだけで十分です。インバウンド JDBC エンドポイントは Map ペイロードを提供します。このペイロードから、送信 SMTP エンドポイントとメッセージの本文に必要なプロパティを抽出します。

<!-- Set SMTP endpoint properties -->
<message-properties-transformer>
  <add-message-property key="subject" value="#[map-payload:subject]"/>
  ...
</message-properties-transformer>
<!-- Set the message Body as new payload -->
<expression-transformer>
  <return-argument evaluator="map-payload" expression="body"/>
</expression-transformer>
于 2011-09-21T13:59:37.760 に答える