1

Quarkus Project 2.16.4.Final Reactive Extensions: quarkus-smallrye-reactive-messaging-kafka

Github: https://github.com/mizmauz/test_incoming_error

The following error below occurs, with 2 @incoming annotations

Processor Method:
    @ActivateRequestContext
    @Acknowledgment(Acknowledgment.Strategy.POST_PROCESSING)
    @Incoming("WEIGHTS_REQUEST")
    @Incoming("CREATION_WEIGHTS_REQUEST")
    public Uni<Void> process2(ConsumerRecord<String, WeightsEvent> record) {
        WeightsEvent event = record.value();
        LOGGER.infof("Get Weight for Weighting Procedure %s", event.weight_proc);

        String key = record.key();
        String topic = record.topic();
        int partition = record.partition();

        return Uni.createFrom().voidItem();
    }


Error on Build:

08:20:35 ERROR traceId=, parentId=, spanId=, sampled= [io.sm.re.me.provider] (Quarkus Main Thread) SRMSG00212: Unable to initialize mediator: process2: java.lang.NullPointerException: Bean is null
    at java.base/java.util.Objects.requireNonNull(Objects.java:233)
    at io.quarkus.arc.impl.BeanManagerImpl.getReference(BeanManagerImpl.java:57)
    at io.smallrye.reactive.messaging.providers.extension.MediatorManager.createMediator(MediatorManager.java:176)
    at io.smallrye.reactive.messaging.providers.extension.MediatorManager_ClientProxy.createMediator(Unknown Source)
    at io.smallrye.reactive.messaging.providers.wiring.Wiring$SubscriberMediatorComponent.materialize(Wiring.java:626)
    at io.smallrye.reactive.messaging.providers.wiring.Graph.lambda$materialize$10(Graph.java:100)
    at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
    at io.smallrye.reactive.messaging.providers.wiring.Graph.materialize(Graph.java:99)
    at io.smallrye.reactive.messaging.providers.extension.MediatorManager.start(MediatorManager.java:219)
    at io.smallrye.reactive.messaging.providers.extension.MediatorManager_ClientProxy.start(Unknown Source)
    at io.quarkus.smallrye.reactivemessaging.runtime.SmallRyeReactiveMessagingLifecycle.onApplicationStart(SmallRyeReactiveMessagingLifecycle.java:52)
    at io.quarkus.smallrye.reactivemessaging.runtime.SmallRyeReactiveMessagingLifecycle_Observer_onApplicationStart_7f54e4b27c1b49e5e062caa58f1e82797fa01393.notify(Unknown Source)
    at io.quarkus.arc.impl.EventImpl$Notifier.notifyObservers(EventImpl.java:328)
    at io.quarkus.arc.impl.EventImpl$Notifier.notify(EventImpl.java:310)
    at io.quarkus.arc.impl.EventImpl.fire(EventImpl.java:78)
    at io.quarkus.arc.runtime.ArcRecorder.fireLifecycleEvent(ArcRecorder.java:131)
    at io.quarkus.arc.runtime.ArcRecorder.handleLifecycleEvents(ArcRecorder.java:100)
    at io.quarkus.deployment.steps.LifecycleEventsBuildStep$startupEvent1144526294.deploy_0(Unknown Source)
    at io.quarkus.deployment.steps.LifecycleEventsBuildStep$startupEvent1144526294.deploy(Unknown Source)
    at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
    at io.quarkus.runtime.Application.start(Application.java:101)
    at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:108)
    at io.quarkus.runtime.Quarkus.run(Quarkus.java:71)
    at io.quarkus.runtime.Quarkus.run(Quarkus.java:44)
    at io.quarkus.runtime.Quarkus.run(Quarkus.java:124)
    at io.quarkus.runner.GeneratedMain.main(Unknown Source)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at io.quarkus.runner.bootstrap.StartupActionImpl$1.run(StartupActionImpl.java:104)
    at java.base/java.lang.Thread.run(Thread.java:833)

Expect to be able to use multiple @incoming statements for Kafka

With only one @Incoming the error does not occur.

Github: https://github.com/mizmauz/test_incoming_error

Olaf Kock
  • 46,930
  • 8
  • 59
  • 90
mizmauz
  • 11
  • 3

1 Answers1

0

Seems like a bug. I think the bean gets removed by Quarkus without any reason. Can you open a bug in github.com/quarkusio/quarkus ? As a workaround, you can add @io.quarkus.arc.Unremovable to the bean.