FasterXML / FasterXML/jackson-modules-base

Unable to use Blackbird with Micronaut

Abierto
#311 6 comentarios 0 reacciones 0 asignados Ver en GitHub
blackbird need-test-case
Lenguaje dominante
Java
Estrellas
180
Forks
80
Merge medio
3 h 26 min
PR fusionados (30 d)
1

Descripción

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 https://github.com/micronaut-projects/micronaut-core/issues/11253

Reference stacktrace:

```
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 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.(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.(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.(DefaultRouteInfo.java:98)
at io.micronaut.web.router.DefaultMethodBasedRouteInfo.(DefaultMethodBasedRouteInfo.java:75)
at io.micronaut.web.router.DefaultRequestMatcher.(DefaultRequestMatcher.java:51)
at io.micronaut.web.router.DefaultUrlRouteInfo.(DefaultUrlRouteInfo.java:76)
at io.micronaut.web.router.DefaultRouteBuilder$DefaultUriRoute.toRouteInfo(DefaultRouteBuilder.java:872)
at io.micronaut.web.router.DefaultRouter.(DefaultRouter.java:111)
at io.kestra.webserver.rooting.TenantAliasingRooter.(TenantAliasingRooter.java:30)
at io.kestra.ee.webserver.rooting.TenantAliasingRooterEE.(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
```

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.