最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Micronaut gets exception when connecting to eureka - Stack Overflow

programmeradmin0浏览0评论

When just running the default Micronaut project, it fails to connect to eureka No serializable introspection present for type PortWrapper portWrapper.

I created the project like this:

mn create-app --features=discovery-eureka,graalvm example.micronaut.bookcatalogue --build=maven --lang=java
 __  __ _                                  _   
|  \/  (_) ___ _ __ ___  _ __   __ _ _   _| |_ 
| |\/| | |/ __| '__/ _ \| '_ \ / _` | | | | __|
| |  | | | (__| | | (_) | | | | (_| | |_| | |_ 
|_|  |_|_|\___|_|  \___/|_| |_|\__,_|\__,_|\__|
15:24:05.605 [main] INFO  i.m.context.DefaultBeanContext - Reading bootstrap environment configuration
15:24:06.056 [main] INFO  io.micronaut.runtime.Micronaut - Startup completed in 622ms. Server Running: http://localhost:8888
15:24:16.073 [default-nioEventLoopGroup-1-2] WARN  i.n.channel.DefaultChannelPipeline - An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.
ioty.handler.timeout.ReadTimeoutException: null
15:24:19.106 [default-nioEventLoopGroup-1-3] WARN  i.n.channel.DefaultChannelPipeline - An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.
ioty.handler.timeout.ReadTimeoutException: null
15:24:22.121 [default-nioEventLoopGroup-1-4] WARN  i.n.channel.DefaultChannelPipeline - An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.
ioty.handler.timeout.ReadTimeoutException: null
15:24:25.131 [default-nioEventLoopGroup-1-5] WARN  i.n.channel.DefaultChannelPipeline - An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.
ioty.handler.timeout.ReadTimeoutException: null
15:24:28.139 [default-nioEventLoopGroup-1-6] WARN  i.n.channel.DefaultChannelPipeline - An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.
ioty.handler.timeout.ReadTimeoutException: null
15:24:31.153 [default-nioEventLoopGroup-1-7] WARN  i.n.channel.DefaultChannelPipeline - An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.
ioty.handler.timeout.ReadTimeoutException: null
15:24:34.168 [default-nioEventLoopGroup-1-8] WARN  i.n.channel.DefaultChannelPipeline - An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.
ioty.handler.timeout.ReadTimeoutException: null
15:24:36.200 [default-nioEventLoopGroup-1-12] ERROR i.m.d.registration.AutoRegistration - Error occurred during service registration with Eureka: Error encoding object [bookcatalogue:8888] to JSON: No serializable introspection present for type PortWrapper portWrapper. Consider adding Serdeable. Serializable annotate to type PortWrapper portWrapper. Alternatively if you are not in control of the project's source code, you can use @SerdeImport(PortWrapper.class) to enable serialization of this type.
io.micronaut.http.codec.CodecException: Error encoding object [bookcatalogue:8888] to JSON: No serializable introspection present for type PortWrapper portWrapper. Consider adding Serdeable. Serializable annotate to type PortWrapper portWrapper. Alternatively if you are not in control of the project's source code, you can use @SerdeImport(PortWrapper.class) to enable serialization of this type.
    at io.micronaut.json.body.JsonMessageHandler.decorateWrite(JsonMessageHandler.java:129)
    at io.micronaut.json.body.JsonMessageHandler.writeTo(JsonMessageHandler.java:142)
    at io.micronaut.http.body.MessageBodyWriter.writeTo(MessageBodyWriter.java:180)
    at io.micronaut.httpty.body.NettyJsonHandler.writeTo(NettyJsonHandler.java:130)
    at io.micronaut.http.clientty.DefaultHttpClient.buildNettyRequest(DefaultHttpClient.java:1350)
    at io.micronaut.http.clientty.DefaultHttpClient.sendRequestThroughChannel(DefaultHttpClient.java:1504)
    at io.micronaut.http.clientty.DefaultHttpClient.lambda$exchangeImpl$26(DefaultHttpClient.java:1115)
    at reactor.core.publisher.FluxCreate.subscribe(FluxCreate.java:97)
    at reactor.core.publisher.Flux.subscribe(Flux.java:8848)
    at reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onNext(MonoFlatMapMany.java:196)
    at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:82)
    at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:82)
    at io.micronaut.http.clientty.CancellableMonoSink.tryForward(CancellableMonoSink.java:79)
    at io.micronaut.http.clientty.CancellableMonoSink.tryEmitValue(CancellableMonoSink.java:98)
    at io.micronaut.http.clientty.ConnectionManager$Pool$ConnectionHolder.emitPoolHandle(ConnectionManager.java:1248)
    at io.micronaut.http.clientty.ConnectionManager$Pool$Http1ConnectionHolder.dispatch0(ConnectionManager.java:1407)
    at io.micronaut.http.clientty.ConnectionManager$Pool$ConnectionHolder.dispatch(ConnectionManager.java:1272)
    at io.micronaut.http.clientty.PoolResizer.dispatchSafe(PoolResizer.java:169)
    at io.micronaut.http.clientty.PoolResizer.doSomeWork(PoolResizer.java:115)
    at io.micronaut.http.clientty.PoolResizer.dirty(PoolResizer.java:77)
    at io.micronaut.http.clientty.PoolResizer.onNewConnectionEstablished1(PoolResizer.java:208)
    at io.micronaut.http.clientty.ConnectionManager$Pool$Http1ConnectionHolder.init(ConnectionManager.java:1342)
    at io.micronaut.http.clientty.ConnectionManager$Pool$2$1.channelActive(ConnectionManager.java:1129)
    at ioty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:260)
    at ioty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:238)
    at ioty.channel.AbstractChannelHandlerContext.fireChannelActive(AbstractChannelHandlerContext.java:231)
    at ioty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelActive(CombinedChannelDuplexHandler.java:412)
    at ioty.channel.ChannelInboundHandlerAdapter.channelActive(ChannelInboundHandlerAdapter.java:69)
    at ioty.channel.CombinedChannelDuplexHandler.channelActive(CombinedChannelDuplexHandler.java:211)
    at ioty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:260)
    at ioty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:238)
    at ioty.channel.AbstractChannelHandlerContext.fireChannelActive(AbstractChannelHandlerContext.java:231)
    at ioty.channel.DefaultChannelPipeline$HeadContext.channelActive(DefaultChannelPipeline.java:1345)
    at ioty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:258)
    at ioty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:238)
    at ioty.channel.DefaultChannelPipeline.fireChannelActive(DefaultChannelPipeline.java:844)
    at ioty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.fulfillConnectPromise(AbstractNioChannel.java:310)
    at ioty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:340)
    at ioty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776)
    at ioty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
    at ioty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
    at ioty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
    at ioty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
    at ioty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    at ioty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: io.micronaut.serde.exceptions.SerdeException: No serializable introspection present for type PortWrapper portWrapper. Consider adding Serdeable. Serializable annotate to type PortWrapper portWrapper. Alternatively if you are not in control of the project's source code, you can use @SerdeImport(PortWrapper.class) to enable serialization of this type.
    at io.micronaut.serde.support.serializers.RuntimeTypeSerializer.lambda$getSerializer$0(RuntimeTypeSerializer.java:135)
    at java.base/java.util.concurrent.ConcurrentHashMapputeIfAbsent(ConcurrentHashMap.java:1708)
    at io.micronaut.serde.support.serializers.RuntimeTypeSerializer.getSerializer(RuntimeTypeSerializer.java:131)
    at io.micronaut.serde.support.serializers.RuntimeTypeSerializer.serialize(RuntimeTypeSerializer.java:76)
    at io.micronaut.serde.support.serializers.CustomizedObjectSerializer.serializeInto(CustomizedObjectSerializer.java:136)
    at io.micronaut.serde.support.serializers.CustomizedObjectSerializer.serialize(CustomizedObjectSerializer.java:56)
    at io.micronaut.serde.support.serializers.WrappedObjectSerializer.serialize(WrappedObjectSerializer.java:48)
    at io.micronaut.serde.support.serializers.ErrorCatchingSerializer.serialize(ErrorCatchingSerializer.java:45)
    at io.micronaut.serde.jackson.JacksonJsonMapper.writeValue(JacksonJsonMapper.java:230)
    at io.micronaut.serde.jackson.JacksonJsonMapper.writeValue(JacksonJsonMapper.java:314)
    at io.micronaut.json.body.JsonMessageHandler.writeTo(JsonMessageHandler.java:140)
    ... 44 common frames omitted
Caused by: io.micronaut.core.beans.exceptions.IntrospectionException: No serializable introspection present for type PortWrapper portWrapper. Consider adding Serdeable. Serializable annotate to type PortWrapper portWrapper. Alternatively if you are not in control of the project's source code, you can use @SerdeImport(PortWrapper.class) to enable serialization of this type.
    at io.micronaut.serde.support.DefaultSerdeIntrospections.getSerializableIntrospection(DefaultSerdeIntrospections.java:111)
    at io.micronaut.serde.support.serializers.SerBean.<init>(SerBean.java:117)
    at io.micronaut.serde.support.serializers.ObjectSerializer.lambda$getSerializableBean$0(ObjectSerializer.java:165)
    at io.micronaut.core.util.SupplierUtil$2.get(SupplierUtil.java:79)
    at io.micronaut.serde.support.serializers.ObjectSerializer.getSerializableBean(ObjectSerializer.java:170)
    at io.micronaut.serde.support.serializers.ObjectSerializer.createSpecificInternal(ObjectSerializer.java:107)
    at io.micronaut.serde.support.serializers.ObjectSerializer.createSpecific(ObjectSerializer.java:99)
    at io.micronaut.serde.support.serializers.SerBean.initProperty(SerBean.java:418)
    at io.micronaut.serde.support.serializers.SerBean.lambda$new$13(SerBean.java:279)
    at io.micronaut.serde.support.serializers.SerBean.initialize(SerBean.java:389)
    at io.micronaut.serde.support.serializers.ObjectSerializer.getSerializableBean(ObjectSerializer.java:171)
    at io.micronaut.serde.support.serializers.ObjectSerializer.createSpecificInternal(ObjectSerializer.java:107)
    at io.micronaut.serde.support.serializers.ObjectSerializer.createSpecific(ObjectSerializer.java:99)
    at io.micronaut.serde.jackson.JacksonJsonMapper.writeValue(JacksonJsonMapper.java:227)
    ... 46 common frames omitted

My expectation was that the basic Micronaut Application straight out of the examples would register with eureka.

I did search quite a bit for this issue, but did not get many results so either I did something wrong or the discovery feature is not widely adopted and therefor this issue has not been detected.

发布评论

评论列表(0)

  1. 暂无评论