【问题标题】:Spring Integration JDBC inbound adapterSpring Integration JDBC 入站适配器
【发布时间】:2018-04-18 11:54:58
【问题描述】:

我必须从数据库中读取行并将这些行传递给服务激活器
在 rowmapper 的帮助下,使用我们能够实现的自己的框架发送邮件,问题是我们需要根据服务激活方法中的成功或失败,用动态状态和 errorstackstrace 更新相应行的列。

<int-jdbc:inbound-channel-adapter id="emailReqestChannel"
        query="select * from email_requests where email_request_status = 'NEW'"
        update="update email_requests set email_request_status = 'SUCCESS' where email_request_id in (:email)"
        max-rows-per-poll="10"
        data-source="dataSource" row-mapper="emailRequestRowMapper">
    <int:poller fixed-rate="1000">
        <int:transactional />
    </int:poller>
</int-jdbc:inbound-channel-adapter>
<int:service-activator input-channel="emailReqestChannel" ref="emailRequestMessageHandler" />
<bean id="jdbcMessageHandler"
        class="com.company.selfservice.jdbc.handler.JdbcMessageHandler" />
<bean id="emailRequestMessageHandler"
        class="com.company.selfservice.jdbc.handler.EmailRequestMessageHandler" />
<bean id="transactionManager"
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource" ref="dataSource" />
</bean>
<int:poller default="true" fixed-rate="10000"/>
<int:channel id="dataChannel">
    <int:queue />
</int:channel>
<int:channel id="emailReqestChannel">
    <int:queue />
</int:channel>
<bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="org.gjt.mm.mysql.Driver" />
    <property name="url" value="${database.connection_url}" />
    <property name="username" value="${database.user}" />
    <property name="password" value="${database.password}" />
</bean>
<bean id="emailRequestRowMapper"
        class="com.company.selfservice.jdbc.handler.EmailRequestRowMapper" />

【问题讨论】:

    标签: java spring-integration


    【解决方案1】:

    如果故事是关于dynamic status and errorstackstrace depending success or failure,那么你不应该在&lt;int-jdbc:inbound-channel-adapter&gt; 中使用update,而是真正考虑使用&lt;int-jdbc:outpbund-channel-adapter&gt;,在那里你可以解决针对请求消息的查询参数:@ 987654321@

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-29
      • 1970-01-01
      • 2023-03-12
      • 2019-02-19
      • 1970-01-01
      • 2015-05-01
      相关资源
      最近更新 更多