[SPRING] 실제로 각 어댑터를 작성하지 않고 메시지 구동 어댑터 목록을 연결하는 방법은 무엇입니까?
SPRING실제로 각 어댑터를 작성하지 않고 메시지 구동 어댑터 목록을 연결하는 방법은 무엇입니까?
안녕하세요. 12 개의 대기열을 들으셔야합니다. 동일한 처리 흐름을 통해 들어오는 모든 메시지를 더 많게 적게 넣으십시오. 각 큐에 연결되는 메시지 구동 채널 어댑터가 있습니다.
<jms:message-driven-channel-adapter id="101InstructionQueue1In"
channel="xmedInitiation1PrimaryChannel"
auto-startup="true"
connection-factory="${XMED.1.PRIMARY}Factory"
destination-name="${XMED.1.INITIATION}"/>
<jms:message-driven-channel-adapter id="101InstructionQueue2In"
channel="xmedInitiation2PrimaryChannel"
auto-startup="true"
connection-factory="${XMED.2.PRIMARY}Factory"
destination-name="${XMED.2.INITIATION}"/>
<jms:message-driven-channel-adapter id="201InstructionQueue1In"
channel="xmedInitiation1SecondaryChannel"
connection-factory="${XMED.1.SECONDARY}Factory"
destination-name="${XMED.1.INITIATION}"
auto-startup="true"/>
<jms:message-driven-channel-adapter id="201InstructionQueue2In"
channel="xmedInitiation2SecondaryChannel"
connection-factory="${XMED.2.SECONDARY}Factory"
destination-name="${XMED.2.INITIATION}"
auto-startup="true"/>
... 기타 등등.
메시지가 수신되면 모두 동일한 채널로 라우팅합니다. 그러나 나는 메시지가 어디서 왔는지를 알아야 할 필요가 있습니다. 실제로 메시지를 전달하기 전에 메시지에 큐 이름을 추가하기 위해 헤더를 좀 더 풍부하게 사용하고 있습니다.
<channel id="xmedInitiation1PrimaryChannel" />
<header-enricher input-channel="xmedInitiation1PrimaryChannel" output-channel="initiationPreprocessingChannel" >
<header name="INITIATOR" value="PRIMARY" />
<header name="INITIATOR_NAME" value="${XMED.1.INITIATION}" />
</header-enricher>
<channel id="xmedInitiation1SecondaryChannel" />
<header-enricher input-channel="xmedInitiation1SecondaryChannel" output-channel="initiationPreprocessingChannel" >
<header name="INITIATOR" value="SECONDARY" />
<header name="INITIATOR_NAME" value="${XMED.1.INITIATION}" />
</header-enricher>
대기열 이름 목록을 반복하고 해당 어댑터를 즉시 만들 수있는 방법이 있습니까? 아마도 자바 구성을 사용하고 계십니까? 미리 감사드립니다.
해결법
from https://stackoverflow.com/questions/33507361/how-to-hook-up-a-list-of-message-driven-adapters-without-actually-writing-each-o by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 엔티티 관계가 제대로 채워지지 않습니다. (0) | 2019.02.27 |
---|---|
[SPRING] Spring Rest : @ManyToOne 열을 가진 행을 삽입 할 수 없음 (0) | 2019.02.27 |
[SPRING] NoSuchMethodException : org.springframework.boot.autoconfigure.http.HttpMessageConverters (0) | 2019.02.27 |
[SPRING] 아약스에 의해 스프링 컨트롤러로부터 어떻게 데이터를 얻을 수 있습니까? (0) | 2019.02.27 |
[SPRING] 나는지도의지도가있는 봄 속성 파일을 읽고 싶다. (0) | 2019.02.27 |