복붙노트

[SPRING] MessageStore는 Spring Integration + Java Config를 통해 QueueChannel을 지원합니다.

SPRING

MessageStore는 Spring Integration + Java Config를 통해 QueueChannel을 지원합니다.

Spring Integration 레퍼런스 가이드는 MessageStore 구현을 사용하여 QueueChannel에 지속성을 제공하는 것을 언급합니다.

여러 번 언급했지만 모든 예에서는 XML 설정 (예 :

<int:channel id="dbBackedChannel">
    <int:queue message-store="channelStore"/>
</int:channel>

<bean id="channelStore" class="o.s.i.jdbc.store.JdbcChannelMessageStore">
    <property name="dataSource" ref="dataSource"/>
    <property name="channelMessageStoreQueryProvider" ref="queryProvider"/>
</bean>

그러나 QueueChannel 구현에는 MessageStore를 설정하는 방법이 없습니다.

그렇다면 XML 구성을 사용하지 않고 MessageStore로 QueueChannel을 만들려면 어떻게해야합니까?

해결법

  1. ==============================

    1.XML 구성이 수행 한 작업을 역 설계하고 이것이 답변입니다.

    XML 구성이 수행 한 작업을 역 설계하고 이것이 답변입니다.

    MessageStore를 MessageGroupQueue에 랩핑했습니다.

    그래서 이것은 다음과 같이 보일 것입니다.

    @Bean
    public MessageChannel messageStoreBackedChannel() {
        return new QueueChannel(
            new MessageGroupQueue(<<MessageStoreImplementation>>, "Group ID")
        );
    }
    
  2. from https://stackoverflow.com/questions/32538885/messagestore-backed-queuechannel-with-spring-integration-java-config by cc-by-sa and MIT license