J'essaie d'utiliser le filtre d'événements pour réduire la quantité de sujets que l'application utilise en utilisant la nouvelle fonctionnalité disponible dans la nouvelle version du flux de nuages de printemps (Chelsea.RC1). Le message est en cours de création, avec l'en-tête correct, mais inspectant le contenu du message dans la file d'attente, le message ne contient pas l'en-tête, seul le corps avec la charge utile.Erreur lors de l'utilisation de "condition paramter header" @StreamListener de la nouvelle version Chelsea.RC1
public void sendEnroll(EnrollCommand data) {
//MessageChannel
outputEnroll.send(MessageBuilder
.withPayload(data)
.setHeader("brand", "MASTERCARD")
.setHeader("operation", Operation.ENROLL).build());
}
Consumer
@Service
@EnableBinding(Channel.class)
public class EnrollConsumer {
@Autowired
private EnrollService service;
@StreamListener(target = Channel.INPUT_ENROLL, condition = "headers['brand']=='MASTERCARD'")
public void enrollConsumer(@Payload String command){
System.out.println(command);
//service.enrollment(command);
}
}
En service à la clientèle, il donne l'avertissement suivant:
WARN -kafka-listener-1 o.s.c.s.b.DispatchingStreamListenerMessageHandler:62 - Cannot find a @StreamListener matching for message with id: 7baae934-7484-a7fd-91b0-ba906558bb13
Ty Artem, son fonctionnement, désolé pour mon tort. –
Super! Vérifiez ceci, s'il vous plaît: http://stackoverflow.com/help/someone-answers –