You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(impl): Support interception of output record before serialization
Fixes#147.
Introduction of a new `OutputRecordInterceptor` interface to be implemented to be able to intercept outgoing messages before their payload is serialized.
Its aim is to replace the `ProducerOnSendInterceptor` that at the difference with `OutputRecordInterceptor` is called after the serialization of the payload.
Henceforth `ProducerOnSendInterceptor` is deprecated.
Version is bumped to 4.1 to reflect the new feature.
It is backwards-compatible.
The TracingProducerInterceptor has been rewritten as a TracingOutputRecordInterceptor, but kept for backwards-compatibility.
It is itself marked for removal as well.
Documentation updated accordingly.
Copy file name to clipboardExpand all lines: api/src/main/java/io/quarkiverse/kafkastreamsprocessor/api/decorator/processor/AbstractProcessorDecorator.java
-4
Original file line number
Diff line number
Diff line change
@@ -39,11 +39,7 @@
39
39
* Class introduced in 2.0, for compatibility with Quarkus 3.8 random failure to start when using custom processor
40
40
* decorators.
41
41
* </p>
42
-
*
43
-
* @deprecated It will be removed in 3.0, with the integration of Quarkus 3.15 where we will be able to go back to pure
Copy file name to clipboardExpand all lines: api/src/main/java/io/quarkiverse/kafkastreamsprocessor/api/decorator/processor/ProcessorDecoratorPriorities.java
+11
Original file line number
Diff line number
Diff line change
@@ -58,25 +58,36 @@ public final class ProcessorDecoratorPriorities {
Copy file name to clipboardExpand all lines: api/src/main/java/io/quarkiverse/kafkastreamsprocessor/api/decorator/producer/ProducerInterceptorPriorities.java
+4
Original file line number
Diff line number
Diff line change
@@ -21,7 +21,11 @@
21
21
22
22
/**
23
23
* Priorities of the producer interceptors the framework provides.
24
+
*
25
+
* @deprecated Change any producer interceptor into a
Copy file name to clipboardExpand all lines: api/src/main/java/io/quarkiverse/kafkastreamsprocessor/api/decorator/producer/ProducerOnSendInterceptor.java
+4
Original file line number
Diff line number
Diff line change
@@ -26,7 +26,11 @@
26
26
27
27
/**
28
28
* Interface to extend to by able to decorate the production of the response message to the outgoing topic.
29
+
*
30
+
* @deprecated Change any producer interceptor into a
References for priorities of existing interceptors this library provides:
797
+
+
798
+
[source,java]
799
+
----
800
+
/**
801
+
* Priority of the interceptor that will inject the tracing headers for propagation.
802
+
*/
803
+
public static final int TRACING = 100;
804
+
----
805
+
+
806
+
Lower priority are executed first.
807
+
808
+
=== Producer interceptor [deprecated]
809
+
810
+
WARNING: Producer interceptors are from 4.1 deprecated. They should be reimplemented as xref:_output_record_interceptor[OutputRecordInterceptor].
761
811
762
812
Kafka Streams already has the concept of a https://kafka.apache.org/36/javadoc/org/apache/kafka/clients/producer/ProducerInterceptor.html[ProducerInterceptor].
763
813
But as the rest of Kafka Streams SPI, it is based on a class name and a default constructor for instantiation.
0 commit comments