Skip to content

Commit 5e547b4

Browse files
authored
Merge pull request #30016 from zakkak/2022-12-21-remove-registration-of-deprecated-kafka-classes
Make registrations of removed (in version 3) kafka classes optional
2 parents 3e7eb23 + 1e9582d commit 5e547b4

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

extensions/kafka-client/deployment/src/main/java/io/quarkus/kafka/client/deployment/KafkaProcessor.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,8 +228,10 @@ public void build(
228228
collectImplementors(toRegister, indexBuildItem, Serializer.class);
229229
collectImplementors(toRegister, indexBuildItem, Deserializer.class);
230230
collectImplementors(toRegister, indexBuildItem, Partitioner.class);
231-
// PartitionAssignor is now deprecated, replaced by ConsumerPartitionAssignor
232-
collectImplementors(toRegister, indexBuildItem, PARTITION_ASSIGNER);
231+
if (QuarkusClassLoader.isClassPresentAtRuntime(PARTITION_ASSIGNER.toString())) {
232+
// PartitionAssignor is now deprecated, replaced by ConsumerPartitionAssignor
233+
collectImplementors(toRegister, indexBuildItem, PARTITION_ASSIGNER);
234+
}
233235
collectImplementors(toRegister, indexBuildItem, ConsumerPartitionAssignor.class);
234236
collectImplementors(toRegister, indexBuildItem, ConsumerInterceptor.class);
235237
collectImplementors(toRegister, indexBuildItem, ProducerInterceptor.class);

extensions/kafka-streams/deployment/src/main/java/io/quarkus/kafka/streams/deployment/KafkaStreamsProcessor.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
import io.quarkus.arc.deployment.AdditionalBeanBuildItem;
2121
import io.quarkus.arc.deployment.SyntheticBeanBuildItem;
22+
import io.quarkus.bootstrap.classloading.QuarkusClassLoader;
2223
import io.quarkus.deployment.Feature;
2324
import io.quarkus.deployment.annotations.BuildProducer;
2425
import io.quarkus.deployment.annotations.BuildStep;
@@ -39,6 +40,8 @@
3940

4041
class KafkaStreamsProcessor {
4142

43+
public static final String DEFAULT_PARTITION_GROUPER = "org.apache.kafka.streams.processor.DefaultPartitionGrouper";
44+
4245
@BuildStep
4346
void build(BuildProducer<FeatureBuildItem> feature,
4447
BuildProducer<ReflectiveClassBuildItem> reflectiveClasses,
@@ -64,9 +67,11 @@ private void registerClassesThatAreLoadedThroughReflection(BuildProducer<Reflect
6467

6568
private void registerCompulsoryClasses(BuildProducer<ReflectiveClassBuildItem> reflectiveClasses) {
6669
reflectiveClasses.produce(new ReflectiveClassBuildItem(true, false, false, StreamsPartitionAssignor.class));
67-
// Class DefaultPartitionGrouper deprecated in Kafka 2.8.x and removed in 3.0.0
68-
reflectiveClasses.produce(
69-
new ReflectiveClassBuildItem(true, false, false, "org.apache.kafka.streams.processor.DefaultPartitionGrouper"));
70+
if (QuarkusClassLoader.isClassPresentAtRuntime(DEFAULT_PARTITION_GROUPER)) {
71+
// Class DefaultPartitionGrouper deprecated in Kafka 2.8.x and removed in 3.0.0
72+
reflectiveClasses.produce(
73+
new ReflectiveClassBuildItem(true, false, false, DEFAULT_PARTITION_GROUPER));
74+
}
7075
reflectiveClasses.produce(new ReflectiveClassBuildItem(true, false, false, DefaultProductionExceptionHandler.class));
7176
reflectiveClasses.produce(new ReflectiveClassBuildItem(true, false, false, FailOnInvalidTimestamp.class));
7277
reflectiveClasses.produce(new ReflectiveClassBuildItem(true, true, true,

0 commit comments

Comments
 (0)