It's impossible to use the Blackbird module with Micronaut, it generates an exception.
io.micronaut.context.exceptions.BeanInstantiationException: Error instantiating bean of type [io.micronaut.http.server.RouteExecutor]
Path Taken:
@i.m.c.a.Primary @j.i.Singleton i.m.h.s.n.NettyEmbeddedServer i.m.h.s.n.DefaultNettyEmbeddedServerFactory.buildDefaultServer#buildDefaultServer(NettyHttpServerConfiguration configuration)
\---> new i.m.h.s.n.DefaultNettyEmbeddedServerFactory(ApplicationContext applicationContext, [RouteExecutor routeExecutor], MediaTypeCodecRegistry mediaTypeCodecRegistry, MessageBodyHandlerRegistry messageBodyHandlerRegistry, StaticResourceResolver staticResourceResolver, @Named("netty") ThreadFactory nettyThreadFactory, HttpCompressionStrategy httpCompressionStrategy, EventLoopGroupFactory eventLoopGroupFactory, EventLoopGroupRegistry eventLoopGroupRegistry, WebSocketUpgradeHandlerFactory webSocketUpgradeHandlerFactory)
\---> new @j.i.Singleton i.m.h.s.RouteExecutor([Router router], BeanContext beanContext, RequestArgumentSatisfier requestArgumentSatisfier, HttpServerConfiguration serverConfiguration, ErrorResponseProcessor<Object> errorResponseProcessor, ExecutorSelector executorSelector)
at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2352)
at io.micronaut.context.DefaultBeanContext.createRegistration(DefaultBeanContext.java:3150)
at io.micronaut.context.SingletonScope.getOrCreate(SingletonScope.java:80)
at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:3000)
at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2762)
at io.micronaut.context.DefaultBeanContext.getBean(DefaultBeanContext.java:1781)
at io.micronaut.context.AbstractBeanResolutionContext.getBean(AbstractBeanResolutionContext.java:210)
at io.micronaut.context.AbstractInitializableBeanDefinition.resolveBean(AbstractInitializableBeanDefinition.java:2130)
at io.micronaut.context.AbstractInitializableBeanDefinition.getBeanForConstructorArgument(AbstractInitializableBeanDefinition.java:1360)
at io.micronaut.http.server.$RouteExecutor$Definition.instantiate(Unknown Source)
at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2337)
at io.micronaut.context.DefaultBeanContext.createRegistration(DefaultBeanContext.java:3150)
at io.micronaut.context.SingletonScope.getOrCreate(SingletonScope.java:80)
at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:3000)
at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2762)
at io.micronaut.context.DefaultBeanContext.getBean(DefaultBeanContext.java:1781)
at io.micronaut.context.AbstractBeanResolutionContext.getBean(AbstractBeanResolutionContext.java:210)
at io.micronaut.context.AbstractInitializableBeanDefinition.resolveBean(AbstractInitializableBeanDefinition.java:2130)
at io.micronaut.context.AbstractInitializableBeanDefinition.getBeanForConstructorArgument(AbstractInitializableBeanDefinition.java:1360)
at io.micronaut.http.server.netty.$DefaultNettyEmbeddedServerFactory$Definition.instantiate(Unknown Source)
at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2337)
at io.micronaut.context.DefaultBeanContext.createRegistration(DefaultBeanContext.java:3150)
at io.micronaut.context.SingletonScope.getOrCreate(SingletonScope.java:80)
at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:3000)
at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2762)
at io.micronaut.context.DefaultBeanContext.getBean(DefaultBeanContext.java:1781)
at io.micronaut.context.DefaultBeanContext.getBean(DefaultBeanContext.java:1763)
at io.micronaut.http.server.netty.$DefaultNettyEmbeddedServerFactory$BuildDefaultServer0$Definition.instantiate(Unknown Source)
at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2337)
at io.micronaut.context.DefaultBeanContext.createRegistration(DefaultBeanContext.java:3150)
at io.micronaut.context.SingletonScope.getOrCreate(SingletonScope.java:80)
at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:3000)
at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2762)
at io.micronaut.context.DefaultBeanContext.findBean(DefaultBeanContext.java:1844)
at io.micronaut.context.DefaultBeanContext.findBean(DefaultBeanContext.java:1819)
at io.micronaut.context.DefaultBeanContext.findBean(DefaultBeanContext.java:871)
at io.micronaut.context.BeanLocator.findBean(BeanLocator.java:410)
at io.kestra.cli.AbstractCommand.startWebserver(AbstractCommand.java:201)
at io.kestra.cli.AbstractCommand.call(AbstractCommand.java:107)
at io.kestra.cli.commands.servers.AbstractServerCommand.call(AbstractServerCommand.java:15)
at io.kestra.cli.commands.servers.StandAloneCommand.call(StandAloneCommand.java:100)
at io.kestra.cli.commands.servers.StandAloneCommand.call(StandAloneCommand.java:24)
at picocli.CommandLine.executeUserObject(CommandLine.java:2031)
at picocli.CommandLine.access$1500(CommandLine.java:148)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2469)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2461)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2423)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2425)
at picocli.CommandLine.execute(CommandLine.java:2174)
at io.kestra.cli.App.execute(App.java:71)
at io.kestra.ee.cli.App.main(App.java:26)
Caused by: java.lang.UnsupportedOperationException
at java.base/java.util.ImmutableCollections.uoe(ImmutableCollections.java:142)
at java.base/java.util.ImmutableCollections$ListItr.set(ImmutableCollections.java:426)
at com.fasterxml.jackson.module.blackbird.ser.BBSerializerModifier.createProperty(BBSerializerModifier.java:155)
at com.fasterxml.jackson.module.blackbird.ser.BBSerializerModifier.lambda$findProperties$0(BBSerializerModifier.java:69)
Caused by: java.lang.UnsupportedOperationException
at com.fasterxml.jackson.module.blackbird.util.Unchecked.lambda$runnable$0(Unchecked.java:31)
at com.fasterxml.jackson.module.blackbird.ser.BBSerializerModifier.findProperties(BBSerializerModifier.java:70)
at com.fasterxml.jackson.module.blackbird.ser.BBSerializerModifier.changeProperties(BBSerializerModifier.java:54)
at com.fasterxml.jackson.databind.ser.BeanSerializerFactory.constructBeanOrAddOnSerializer(BeanSerializerFactory.java:418)
at com.fasterxml.jackson.databind.ser.BeanSerializerFactory.findBeanOrAddOnSerializer(BeanSerializerFactory.java:292)
at com.fasterxml.jackson.databind.ser.BeanSerializerFactory._createSerializer2(BeanSerializerFactory.java:237)
at com.fasterxml.jackson.databind.ser.BeanSerializerFactory.createSerializer(BeanSerializerFactory.java:171)
at com.fasterxml.jackson.databind.SerializerProvider._createUntypedSerializer(SerializerProvider.java:1554)
at com.fasterxml.jackson.databind.SerializerProvider._createAndCacheUntypedSerializer(SerializerProvider.java:1522)
at com.fasterxml.jackson.databind.SerializerProvider.findContentValueSerializer(SerializerProvider.java:794)
at com.fasterxml.jackson.databind.ser.std.AsArraySerializerBase.createContextual(AsArraySerializerBase.java:206)
at com.fasterxml.jackson.databind.SerializerProvider.handleSecondaryContextualization(SerializerProvider.java:1156)
at com.fasterxml.jackson.databind.SerializerProvider.findValueSerializer(SerializerProvider.java:638)
at com.fasterxml.jackson.databind.SerializerProvider.findTypedValueSerializer(SerializerProvider.java:914)
at com.fasterxml.jackson.databind.ObjectWriter$Prefetch.forRootType(ObjectWriter.java:1551)
at com.fasterxml.jackson.databind.ObjectWriter.<init>(ObjectWriter.java:116)
at com.fasterxml.jackson.databind.ObjectMapper._newWriter(ObjectMapper.java:841)
at com.fasterxml.jackson.databind.ObjectMapper.writerFor(ObjectMapper.java:4281)
at io.micronaut.jackson.databind.JacksonDatabindMapper.createWriter(JacksonDatabindMapper.java:168)
at io.micronaut.jackson.databind.JacksonDatabindMapper.<init>(JacksonDatabindMapper.java:114)
at io.micronaut.jackson.databind.JacksonDatabindMapper.createSpecific(JacksonDatabindMapper.java:132)
at io.micronaut.json.body.JsonMessageHandler.createSpecific(JsonMessageHandler.java:102)
at io.micronaut.http.netty.body.NettyJsonHandler.createSpecific(NettyJsonHandler.java:142)
at io.micronaut.web.router.DefaultRouteInfo.lambda$new$0(DefaultRouteInfo.java:98)
at java.base/java.util.Optional.map(Optional.java:260)
at io.micronaut.web.router.DefaultRouteInfo.<init>(DefaultRouteInfo.java:98)
at io.micronaut.web.router.DefaultMethodBasedRouteInfo.<init>(DefaultMethodBasedRouteInfo.java:75)
at io.micronaut.web.router.DefaultRequestMatcher.<init>(DefaultRequestMatcher.java:51)
at io.micronaut.web.router.DefaultUrlRouteInfo.<init>(DefaultUrlRouteInfo.java:76)
at io.micronaut.web.router.DefaultRouteBuilder$DefaultUriRoute.toRouteInfo(DefaultRouteBuilder.java:872)
at io.micronaut.web.router.DefaultRouter.<init>(DefaultRouter.java:111)
at io.kestra.webserver.rooting.TenantAliasingRooter.<init>(TenantAliasingRooter.java:30)
at io.kestra.ee.webserver.rooting.TenantAliasingRooterEE.<init>(TenantAliasingRooterEE.java:21)
at io.kestra.ee.webserver.rooting.$TenantAliasingRooterEE$Definition.instantiate(Unknown Source)
at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2337)
... 51 more
It's impossible to use the Blackbird module with Micronaut, it generates an exception.
The Micronaut team reports the issue may be inside Jackson itself, see micronaut-projects/micronaut-core#11253
Reference stacktrace: