如何通过xml集成创建bean

时间:2019-07-09 08:08:57

标签: java spring-integration

我有应该在Java中重写为bean的代码,因为我需要创建多个集成流而不是一个。对于每个客户。

我想为每个使用postProcessBeanFactory的客户创建JdbcPollingChannelAdapter bean,但我不知道如何为其添加通道。

<beans profile="retryProcessing">
        <bean id="jdbc-poll-for-email" class="org.springframework.integration.jdbc.JdbcPollingChannelAdapter">
            <constructor-arg value="dataSource"/>
            <constructor-arg value="SELECT RowID..."/>
            <property name="updateSql" value="UPDATE ${customer.catalog}...."/>
        </bean>
    </beans>

<int-jdbc:inbound-channel-adapter
            query="SELECT RowID, DocumentID..."
            channel="email.Channel" data-source="dataSource"
            update="UPDATE ${customer.catalog} SET Status=....">
        <int:poller fixed-rate="${emailAdvice.retry.period:60}" time-unit="SECONDS"/>
    </int-jdbc:inbound-channel-adapter>
    <int:channel id="email.Channel"/>
    <int:chain input-channel="email.Channel" output-channel="email.headerEnricherChannel">
        <int:splitter id="splitter"/>
        <int:header-enricher>
            <int:header name="inboxType" expression="payload.get('InboxType')"/>
            <int:header name="rowId" expression="payload.get('RowID')"/>
        </int:header-enricher>
        <int:transformer>
            <bean class="RowTransformer">
                <constructor-arg ref="transformRow"/>
            </bean>
        </int:transformer>
    </int:chain>

1 个答案:

答案 0 :(得分:1)

This section of the manual显示了如何查找通道适配器所涉及的类。

具体来说,您每个人都需要一个SourcePollingChannelAdapter和一个JdbcPollingChannelAdapter

另请参见the java DSL,尤其是Dynamic and Runtime Integration flows,以了解通过编程方式组装流的首选机制。