3

春のクラウド ストリーム (Chelsea.RC1) の新しいリリースで利用可能な新機能を使用して、イベント フィルターを使用して、アプリケーションが使用するトピックの量を削減しようとしています。メッセージは正しいヘッダーで作成されていますが、キュー内のメッセージの内容を検査すると、メッセージにはヘッダーが含まれておらず、ペイロードを含む本文のみが含まれています。

public void sendEnroll(EnrollCommand data) {

    //MessageChannel
    outputEnroll.send(MessageBuilder
            .withPayload(data)
                .setHeader("brand", "MASTERCARD")
                .setHeader("operation", Operation.ENROLL).build());
}

消費者

@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);
 }
}

コンシューマー サービスでは、次の警告が表示されます。

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
4

1 に答える 1