FasterXML / FasterXML/jackson-modules-base

Unable to use Blackbird with Micronaut

Đang mở
#311 6 bình luận 0 reaction 0 người được giao Xem trên GitHub
blackbird need-test-case
Ngôn ngữ chính
Java
Star
180
Fork
80
Merge trung bình
3 giờ 26 phút
Pull request đã merge (30 ngày)
1

Mô tả

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
```

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.