2017-03-23 5 views
0

카프카 소스, 브리지 모듈 및 카프카 싱크로 구성된 SpringXD 스트림을 생성하는 솔루션을 구현하려고합니다.SpringXD 및 Spring 통합 : 매 X 분마다 kafka 주제에서 읽은 다음 다른 주제로 보내기

<channel id="pollable"> 
    <queue /> 
</channel> 

<bridge input-channel="pollable" output-channel="executorChannel"> 
    <poller max-messages-per-poll="5" fixed-rate="5000" /> 
</bridge> 

내 문제는 내가 어떻게 든 폴러을 피하기 위해 같은 것입니다 :

그래서 내가 좋아하는 뭔가가있다. 기본적으로 그 메시지가 대기열에있을 때 메시지를 메모리에 보관하지 않기를 원하기 때문입니다. 나는 매 X 분마다 kafka를 읽고 대기열에서 Y 메시지를 받아서 다음 주제로 보내는 것을 선호합니다.

대기열을 제거 할 수없는 것처럼 보이지만 내 질문은 다음과 같습니다. 다른 옵션이 있습니까? 나는 물건을 기억에 남기고 싶지 않지만 다음 옵션 중 하나를 사용하고 싶지 않습니다. http://docs.spring.io/spring-integration/reference/html/system-management-chapter.html#message-store

답변

1

메모리에 데이터를 보관하는 것은 좋지 않습니다.

필요에 따라 stop()start() 채널 어댑터 (KafkaMessageDrivenChannelAdapter)를 사용할 수 있습니다. 다시 시작할 때 중단 된 지점부터 다시 시작됩니다.

그러나 kafka 소스는 ​​아주 오래된 버전의 spring-integration-kafka (1.3.x)를 사용합니다.

kafka 0.10.1.x 클라이언트를 사용하는 spring-integration-kafka 2.1.0을 사용하도록 사용자 지정 원본을 만드는 경우 kafka 속성 max.poll.records을 설정하여 가져올 레코드 수를 제한 할 수 있습니다.

+0

구동 형 채널 어댑터의 주요 목적은 무엇입니까? KafkaMessageDrivenChannelAdapter의 주요 목표는 무엇입니까? 나는 봄의 문서를 읽는 것이 주된 목적인지 알아 내려고 노력해 왔지만 그것은 분명하지 않다. (나는 이것을 읽었습니다 : http://docs.spring.io/spring-kafka/docs/2.0.0.BUILD-SNAPSHOT/reference/html/_spring_integration.html#si-inbound 및 https : // github. Spring/integration/samples/blob/master/basic/kafka/src/main/java/org/springframework/integration/samples/kafka/Application.java) ? – Columb1a

+0

Spring Integration은 [Enterprise Integration Patterns] (http://www.enterpriseintegrationpatterns.com/)의 구현으로이 책을 숙지하고 [Spring Integration documentation] (http://docs.spring.io/)을 읽어야합니다. 스프링 통합/참조/html /); 그것은 당신 같은 질문에 대답해야합니다. –

+0

감사합니다. 메시지 기반 채널 사용에 관한 2 개의 기사를 읽은 후 필자는 왜 그것을 사용하는지 이해했습니다. 다른 사람이 확인하기를 원하면 여기에 기사를 남깁니다. 먼저 읽으십시오 : http://www.javarticles.com/2015/01/example-of-spring-integration-using-service-activator-and-jms -inbound-channel-adapter-endpoints.html 다음 : http://www.javarticles.com/2015/02/example-of-message-driven-channel-adapter.html – Columb1a