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
After upgrading from Quarkus 3.10.2 to 3.11.0 our application that uses channels with a hyphen, e.g. abc-def, cannot be configured using environment variables anymore.
Description
When configuring a channel with a hyphen in the name in application.properties, e.g.
and enabling the channel using the environment variable MP_MESSAGING_INCOMING_ABC_DEF_ENABLED=true,
then the application throws the following exception on startup:
java.lang.RuntimeException: Failed to start quarkus
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:111)
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.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at io.quarkus.runner.bootstrap.StartupActionImpl$1.run(StartupActionImpl.java:113)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: jakarta.enterprise.inject.spi.DeploymentException: java.lang.IllegalArgumentException: SRMSG00071: Invalid channel configuration - the `connector` attribute must be set for channel `abc`
at io.quarkus.smallrye.reactivemessaging.runtime.SmallRyeReactiveMessagingLifecycle.onApplicationStart(SmallRyeReactiveMessagingLifecycle.java:58)
at io.quarkus.smallrye.reactivemessaging.runtime.SmallRyeReactiveMessagingLifecycle_Observer_onApplicationStart_qTrMuLFyQ1IvGfeSxRVitl6CCBQ.notify(Unknown Source)
at io.quarkus.arc.impl.EventImpl$Notifier.notifyObservers(EventImpl.java:351)
at io.quarkus.arc.impl.EventImpl$Notifier.notify(EventImpl.java:333)
at io.quarkus.arc.impl.EventImpl.fire(EventImpl.java:80)
at io.quarkus.arc.runtime.ArcRecorder.fireLifecycleEvent(ArcRecorder.java:155)
at io.quarkus.arc.runtime.ArcRecorder.handleLifecycleEvents(ArcRecorder.java:106)
at io.quarkus.deployment.steps.LifecycleEventsBuildStep$startupEvent1144526294.deploy_0(Unknown Source)
at io.quarkus.deployment.steps.LifecycleEventsBuildStep$startupEvent1144526294.deploy(Unknown Source)
... 11 more
Caused by: java.lang.IllegalArgumentException: SRMSG00071: Invalid channel configuration - the `connector` attribute must be set for channel `abc`
at io.smallrye.reactive.messaging.providers.impl.ConnectorConfig.lambda$getConnectorAttribute$0(ConnectorConfig.java:65)
at java.base/java.util.Optional.orElseThrow(Optional.java:403)
at io.smallrye.reactive.messaging.providers.impl.ConnectorConfig.lambda$getConnectorAttribute$1(ConnectorConfig.java:65)
at java.base/java.util.Optional.orElseGet(Optional.java:364)
at io.smallrye.reactive.messaging.providers.impl.ConnectorConfig.getConnectorAttribute(ConnectorConfig.java:64)
at io.smallrye.reactive.messaging.providers.impl.ConnectorConfig.<init>(ConnectorConfig.java:59)
at io.smallrye.reactive.messaging.providers.impl.ConfiguredChannelFactory.lambda$extractConfigurationFor$0(ConfiguredChannelFactory.java:91)
at java.base/java.lang.Iterable.forEach(Iterable.java:75)
at io.smallrye.reactive.messaging.providers.impl.ConfiguredChannelFactory.extractConfigurationFor(ConfiguredChannelFactory.java:78)
at io.smallrye.reactive.messaging.providers.impl.ConfiguredChannelFactory.initialize(ConfiguredChannelFactory.java:107)
at io.smallrye.reactive.messaging.providers.impl.ConfiguredChannelFactory_ClientProxy.initialize(Unknown Source)
at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939)
at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
at io.smallrye.reactive.messaging.providers.extension.MediatorManager.start(MediatorManager.java:250)
at io.smallrye.reactive.messaging.providers.extension.MediatorManager_ClientProxy.start(Unknown Source)
at io.quarkus.smallrye.reactivemessaging.runtime.SmallRyeReactiveMessagingLifecycle.onApplicationStart(SmallRyeReactiveMessagingLifecycle.java:53)
... 19 more
The problem seems to be that smallrye-reactive-messaging thinks the name of the channel is abc instead of abc-def when using the environment variable MP_MESSAGING_INCOMING_ABC_DEF_ENABLED.
This setup used to work up to Quarkus 3.10.2, but does not work anymore since Quarkus 3.11.0.
If you change value of quarkusPluginVersion and quarkusPlatformVersion in gradle.properties to 3.10.2 and run the application again, everything works as expected.
I'm not sure if this issue is caused by smallrye-reactive-messaging or smallrye-config (or a combination of both), but I'm happy to raise this issue in smallrye-config again, if you think the problem should be solved there.
The text was updated successfully, but these errors were encountered:
Should I open the issue in smallrye-config? Quarkus 3.11 is using a different version (3.7.1 vs 3.8.1) and I found a change in 3.8.0 that might have something to do with this problem: smallrye/smallrye-config#1146.
After upgrading from Quarkus 3.10.2 to 3.11.0 our application that uses channels with a hyphen, e.g.
abc-def
, cannot be configured using environment variables anymore.Description
When configuring a channel with a hyphen in the name in application.properties, e.g.
and enabling the channel using the environment variable
MP_MESSAGING_INCOMING_ABC_DEF_ENABLED=true
,then the application throws the following exception on startup:
The problem seems to be that smallrye-reactive-messaging thinks the name of the channel is
abc
instead ofabc-def
when using the environment variableMP_MESSAGING_INCOMING_ABC_DEF_ENABLED
.This setup used to work up to Quarkus 3.10.2, but does not work anymore since Quarkus 3.11.0.
Steps to reproduce the issue
I created a minimal Quarkus project that reproduces the issue: panphg/smallrye-messaging-config.
./gradlew quarkusDev
If you change value of
quarkusPluginVersion
andquarkusPlatformVersion
ingradle.properties
to3.10.2
and run the application again, everything works as expected.I'm not sure if this issue is caused by smallrye-reactive-messaging or smallrye-config (or a combination of both), but I'm happy to raise this issue in smallrye-config again, if you think the problem should be solved there.
The text was updated successfully, but these errors were encountered: