Spring Integration channel中使用message-store的例子

来源:互联网 发布:万科荣华金域名城1号楼 编辑:程序博客网 时间:2024/06/10 16:47
<bean id="sessionQueuePersistance"    class="com.emph.SessionQueuePersistance">    <constructor-arg name="sessionInboundChannel" ref="sessionInboundChannel" /></bean><int:channel id="sessionInboundChannel">    <int:queue message-store="sessionStore" />    <int:interceptors>        <int:ref bean="messageListener"/>    </int:interceptors></int:channel><bean id="messageListener" class="com.emph.MessageListener" /><!-- int:logging-channel-adapter id="logger" log-full-message="true" level="INFO" /--><bean id="sessionStore"    class="org.springframework.integration.jdbc.store.JdbcChannelMessageStore">    <property name="dataSource" ref="queueDataSource" />    <property name="channelMessageStoreQueryProvider" ref="queryProvider" />    <property name="tablePrefix" value="QUEUE_" /></bean><bean id="queryProvider"    class="org.springframework.integration.jdbc.store.channel.OracleChannelMessageStoreQueryProvider" /><bean id="queueDataSource"    class="org.springframework.jdbc.datasource.DriverManagerDataSource">    <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />    <property name="url" value="jdbc:oracle:thin:@localhost:1521:XE" />    <property name="username" value="test" />    <property name="password" value="test" /></bean><!-- the bridge polls the persisted messages and forwards them to the output     channel --><int:bridge input-channel="sessionInboundChannel"    output-channel="sessionOutboundChannel">    <int:poller fixed-rate="1000" max-messages-per-poll="-1">        <int:transactional transaction-manager="txManager" />    </int:poller></int:bridge><bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">    <property name="dataSource" ref="queueDataSource"/></bean><int:channel id="sessionOutboundChannel">    <int:dispatcher task-executor="taskExecutor" /></int:channel><bean id="sessionQueueReader" class="com.emph.SessionReader" /><int:service-activator input-channel="sessionOutboundChannel"    ref="sessionQueueReader" method="handleMessage" /><bean id="taskExecutor"    class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">    <property name="corePoolSize" value="4" />    <property name="maxPoolSize" value="4" /></bean>
原创粉丝点击