J'ai un module de processeur http spring-xd avec http-outbound-gateway qui a un errorChannel et un outputChannel. Tout message avec HTTP 200 arrive à outputChannel, et le reste d'entre eux atterrit dans failureChannel. À l'heure actuelle, le module de traitement http se connecte à un Kafka-Sink avec un adaptateur Kafka-Outbound avec TopicX. TopicX reçoit uniquement les messages HTTP 200 pour un traitement ultérieur. Maintenant, nous avons besoin que les messages de failureChannel soient routés vers TopicY.Comment acheminer des messages de kafka-sink à plusieurs sujets
Comment puis-je envoyer des messages à plusieurs sujets kafka dans le kafka-sink. J'ai le httpStatusCode dans l'en-tête du message. La version de Kafka dans mon projet est 0.8.2 et la version java est 1,7
<!-- http-processor-config -->
<int-http:outbound-gateway
request-channel="input"
url-expression="'myUrlLink'"
http-method="POST"
expected-response-type="java.lang.String"
charset="UTF-8"
reply-timeout="10"
reply-channel="output">
<int-http:request-handler-advice-chain>
<bean class="org.springframework.integration.handler.advice.RequestHandlerRetryAdvice">
<property name="recoveryCallback">
<bean class="org.springframework.integration.handler.advice.ErrorMessageSendingRecoverer">
<constructor-arg ref="errorChannel" />
</bean>
</property>
<property name="retryTemplate" ref="retryTemplate" />
</bean>
</int-http:request-handler-advice-chain>
</int-http:outbound-gateway>
<!-- Handle failed messages and route to failureChannel for specific http codes-->
<int:service-activator input-channel="errorChannel" ref="customErrorHandler" method="handleFailedRequest" output-channel="failureChannel"/>
sur Kafka Sink, je suis le contexte producteur suivant:
<int-kafka:producer-context id="kafkaProducerContext">
<int-kafka:producer-configurations>
<int-kafka:producer-configuration broker-list="localhost:9092"
topic="${topicX}"
key-class-type="java.lang.String"
key-serializer="serializer"
value-class-type="[B"
value-serializer="valueSerializer"/>
</int-kafka:producer-configurations>
</int-kafka:producer-context>
Je l'ai fonctionné finalement. – Vidhya