Java Spring集成JDBC入站适配器

Java Spring集成JDBC入站适配器,java,spring-integration,Java,Spring Integration,我必须从数据库中读取行,并将行传递给服务激活器 在rowmapper的帮助下,我们可以使用自己的框架发送邮件,问题是我们需要根据service activator方法中的成功或失败,使用动态状态和errorstackstrace更新相应行的列 <int-jdbc:inbound-channel-adapter id="emailReqestChannel" query="select * from email_requests where email_request_sta

我必须从数据库中读取行,并将行传递给服务激活器
在rowmapper的帮助下,我们可以使用自己的框架发送邮件,问题是我们需要根据service activator方法中的成功或失败,使用动态状态和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" />


< />代码> 如果故事是关于代码>动态状态和错误排序取决于成功或失败< /代码>,则不应在<代码> <代码>中使用<代码>更新/代码>,但真正考虑使用<代码> <代码>,您可以根据请求消息解析查询参数: