-
Notifications
You must be signed in to change notification settings - Fork 8
quarkus‐kafka‐streams‐processor 2.0 migration guide
Emile de Weerd edited this page Oct 8, 2024
·
2 revisions
Quarkus 3.8 presents a random incompatibility with Processor decorators annotated with CDI's Decorator annotation. If you are using custom Processor decorators, this is what you will need to change:
-@Decorator
+@Dependent
@Priority(ProcessorDecoratorPriorities.DLQ)
-public class MyDecorator implements AbstractProcessorDecorator {
+public class MyDecorator implements AbstractProcessorDecorator {
- @lombok.experimental.Delegate(excludes = Excludes.class)
- private final Processor<KIn, VIn, KOut, VOut> delegate;
private final MyBean myBean;
@Inject
- public MyDecorator(@Delegate Processor<KIn, VIn, KOut, VOut> delegate, MyBean myBean) {
- this.delegate = delegate;
+ public MyDecorator(MyBean myBean) {
this.myBean = myBean;
}
@Override
- public void process(Record<KIn, VIn> record) {
+ public void process(Record record) {
// before process logic
- delegate.process(record);
+ getDelegate().process(record);
// post process logic
}
- private interface Excludes {
- <KIn, VIn> void process(Record<KIn, VIn> record);
- }
}
This change will be removed in quarkus-kafka-streams-processor 3.0, which will be based on Quarkus 3.15 LTS.