How to fix "com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of org.hibernate.cache.spi.entry.StandardCacheEntryImpl
(no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator)"?
#5497
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I use Redisson-Hibernate-6 for Hibernate 2nd Level Cache, but when read entity object from redis, always a execetion that:
2023-12-10 16:52:08,821 - <Unable to decode data. channel: [id: 0xbfa8eca2, L:/127.0.0.1:51991 - R:127.0.0.1/127.0.0.1:6379], reply: ReplayingDecoderByteBuf(ridx=341, widx=341), command: (EVAL), promise: java.util.concurrent.CompletableFuture@4098a420[Not completed, 1 dependents], params: [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 2, hibernate.net.jazgung.hibernate.hibernate_native.second_level_cache.Person, redisson__timeout__set:{hibernate.net.jazgung.hibernate.hibernate_native.second_level_cache.Person}, 1702198328799, PooledUnsafeDirectByteBuf(ridx: 0, widx: 128, cap: 256)]> - redisson-netty-2-8 - ERROR - [org.redisson.client.handler.CommandDecoder]
com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of
org.hibernate.cache.spi.entry.StandardCacheEntryImpl
(no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator)at [Source: (io.netty.buffer.ByteBufInputStream); line: 1, column: 66]
at com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:67) ~[jackson-databind-2.15.2.jar:2.15.2]
at com.fasterxml.jackson.databind.DeserializationContext.reportBadDefinition(DeserializationContext.java:1915) ~[jackson-databind-2.15.2.jar:2.15.2]
at com.fasterxml.jackson.databind.DatabindContext.reportBadDefinition(DatabindContext.java:414) ~[jackson-databind-2.15.2.jar:2.15.2]
at com.fasterxml.jackson.databind.DeserializationContext.handleMissingInstantiator(DeserializationContext.java:1360) ~[jackson-databind-2.15.2.jar:2.15.2]
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1424) ~[jackson-databind-2.15.2.jar:2.15.2]
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:352) ~[jackson-databind-2.15.2.jar:2.15.2]
at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeOther(BeanDeserializer.java:220) ~[jackson-databind-2.15.2.jar:2.15.2]
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:187) ~[jackson-databind-2.15.2.jar:2.15.2]
at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedForId(AsPropertyTypeDeserializer.java:170) ~[jackson-databind-2.15.2.jar:2.15.2]
at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:136) ~[jackson-databind-2.15.2.jar:2.15.2]
at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromAny(AsPropertyTypeDeserializer.java:240) ~[jackson-databind-2.15.2.jar:2.15.2]
at com.fasterxml.jackson.databind.deser.std.UntypedObjectDeserializerNR.deserializeWithType(UntypedObjectDeserializerNR.java:115) ~[jackson-databind-2.15.2.jar:2.15.2]
at com.fasterxml.jackson.databind.deser.impl.TypeWrappedDeserializer.deserialize(TypeWrappedDeserializer.java:74) ~[jackson-databind-2.15.2.jar:2.15.2]
at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:323) ~[jackson-databind-2.15.2.jar:2.15.2]
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4825) ~[jackson-databind-2.15.2.jar:2.15.2]
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3809) ~[jackson-databind-2.15.2.jar:2.15.2]
at org.redisson.codec.JsonJacksonCodec$2.decode(JsonJacksonCodec.java:99) ~[redisson-3.25.0.jar:3.25.0]
at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:426) ~[redisson-3.25.0.jar:3.25.0]
at org.redisson.client.handler.CommandDecoder.decodeCommand(CommandDecoder.java:216) [redisson-3.25.0.jar:3.25.0]
at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:144) [redisson-3.25.0.jar:3.25.0]
at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:120) [redisson-3.25.0.jar:3.25.0]
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:529) [netty-codec-4.1.101.Final.jar:4.1.101.Final]
at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:366) [netty-codec-4.1.101.Final.jar:4.1.101.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290) [netty-codec-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) [netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) [netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) [netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) [netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) [netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) [netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) [netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) [netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) [netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) [netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) [netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) [netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) [netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.101.Final.jar:4.1.101.Final]
at java.lang.Thread.run(Thread.java:833) [?:?]
2023-12-10 16:52:08,831 - <Exception occured. Channel: [id: 0xbfa8eca2, L:/127.0.0.1:51991 - R:127.0.0.1/127.0.0.1:6379]> - redisson-netty-2-8 - ERROR - [org.redisson.client.handler.ErrorsLoggingHandler]
io.netty.handler.codec.DecoderException: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of
org.hibernate.cache.spi.entry.StandardCacheEntryImpl
(no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator)at [Source: (io.netty.buffer.ByteBufInputStream); line: 1, column: 66]
at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:421) ~[netty-codec-4.1.101.Final.jar:4.1.101.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290) ~[netty-codec-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) [netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) [netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) [netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) [netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) [netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) [netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) [netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) [netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) [netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) [netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) [netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) [netty-transport-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) [netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.101.Final.jar:4.1.101.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.101.Final.jar:4.1.101.Final]
at java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of
org.hibernate.cache.spi.entry.StandardCacheEntryImpl
(no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator)at [Source: (io.netty.buffer.ByteBufInputStream); line: 1, column: 66]
at com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:67) ~[jackson-databind-2.15.2.jar:2.15.2]
at com.fasterxml.jackson.databind.DeserializationContext.reportBadDefinition(DeserializationContext.java:1915) ~[jackson-databind-2.15.2.jar:2.15.2]
at com.fasterxml.jackson.databind.DatabindContext.reportBadDefinition(DatabindContext.java:414) ~[jackson-databind-2.15.2.jar:2.15.2]
at com.fasterxml.jackson.databind.DeserializationContext.handleMissingInstantiator(DeserializationContext.java:1360) ~[jackson-databind-2.15.2.jar:2.15.2]
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1424) ~[jackson-databind-2.15.2.jar:2.15.2]
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:352) ~[jackson-databind-2.15.2.jar:2.15.2]
at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeOther(BeanDeserializer.java:220) ~[jackson-databind-2.15.2.jar:2.15.2]
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:187) ~[jackson-databind-2.15.2.jar:2.15.2]
at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedForId(AsPropertyTypeDeserializer.java:170) ~[jackson-databind-2.15.2.jar:2.15.2]
at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:136) ~[jackson-databind-2.15.2.jar:2.15.2]
at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromAny(AsPropertyTypeDeserializer.java:240) ~[jackson-databind-2.15.2.jar:2.15.2]
at com.fasterxml.jackson.databind.deser.std.UntypedObjectDeserializerNR.deserializeWithType(UntypedObjectDeserializerNR.java:115) ~[jackson-databind-2.15.2.jar:2.15.2]
at com.fasterxml.jackson.databind.deser.impl.TypeWrappedDeserializer.deserialize(TypeWrappedDeserializer.java:74) ~[jackson-databind-2.15.2.jar:2.15.2]
at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:323) ~[jackson-databind-2.15.2.jar:2.15.2]
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4825) ~[jackson-databind-2.15.2.jar:2.15.2]
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3809) ~[jackson-databind-2.15.2.jar:2.15.2]
at org.redisson.codec.JsonJacksonCodec$2.decode(JsonJacksonCodec.java:99) ~[redisson-3.25.0.jar:3.25.0]
at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:426) ~[redisson-3.25.0.jar:3.25.0]
at org.redisson.client.handler.CommandDecoder.decodeCommand(CommandDecoder.java:216) ~[redisson-3.25.0.jar:3.25.0]
at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:144) ~[redisson-3.25.0.jar:3.25.0]
at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:120) ~[redisson-3.25.0.jar:3.25.0]
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:529) ~[netty-codec-4.1.101.Final.jar:4.1.101.Final]
at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:366) ~[netty-codec-4.1.101.Final.jar:4.1.101.Final]
... 17 more
2023-12-10 16:52:08,832 - - main - ERROR - [org.redisson.hibernate.RedissonStorage]
org.redisson.client.RedisException: Unexpected exception while processing command
at org.redisson.command.CommandAsyncService.convertException(CommandAsyncService.java:300) ~[redisson-3.25.0.jar:3.25.0]
at org.redisson.command.CommandAsyncService.get(CommandAsyncService.java:117) ~[redisson-3.25.0.jar:3.25.0]
at org.redisson.RedissonObject.get(RedissonObject.java:90) ~[redisson-3.25.0.jar:3.25.0]
at org.redisson.RedissonMapCache.getWithTTLOnly(RedissonMapCache.java:1584) ~[redisson-3.25.0.jar:3.25.0]
at org.redisson.hibernate.RedissonStorage.getFromCache(RedissonStorage.java:105) ~[redisson-hibernate-6-3.25.0.jar:3.25.0]
at org.hibernate.cache.spi.support.AbstractCachedDomainDataAccess.get(AbstractCachedDomainDataAccess.java:53) ~[hibernate-core-6.3.1.Final.jar:6.3.1.Final]
at org.hibernate.engine.internal.CacheHelper.fromSharedCache(CacheHelper.java:36) ~[hibernate-core-6.3.1.Final.jar:6.3.1.Final]
at org.hibernate.loader.ast.internal.CacheEntityLoaderHelper.getFromSharedCache(CacheEntityLoaderHelper.java:275) ~[hibernate-core-6.3.1.Final.jar:6.3.1.Final]
at org.hibernate.loader.ast.internal.CacheEntityLoaderHelper.loadFromSecondLevelCache(CacheEntityLoaderHelper.java:251) ~[hibernate-core-6.3.1.Final.jar:6.3.1.Final]
at org.hibernate.loader.ast.internal.CacheEntityLoaderHelper.loadFromSecondLevelCache(CacheEntityLoaderHelper.java:202) ~[hibernate-core-6.3.1.Final.jar:6.3.1.Final]
at org.hibernate.event.internal.DefaultLoadEventListener.loadFromCacheOrDatasource(DefaultLoadEventListener.java:560) ~[hibernate-core-6.3.1.Final.jar:6.3.1.Final]
at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:547) ~[hibernate-core-6.3.1.Final.jar:6.3.1.Final]
at org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:531) ~[hibernate-core-6.3.1.Final.jar:6.3.1.Final]
at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:206) ~[hibernate-core-6.3.1.Final.jar:6.3.1.Final]
at org.hibernate.event.internal.DefaultLoadEventListener.loadWithRegularProxy(DefaultLoadEventListener.java:286) ~[hibernate-core-6.3.1.Final.jar:6.3.1.Final]
at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:241) ~[hibernate-core-6.3.1.Final.jar:6.3.1.Final]
at org.hibernate.event.internal.DefaultLoadEventListener.doOnLoad(DefaultLoadEventListener.java:110) ~[hibernate-core-6.3.1.Final.jar:6.3.1.Final]
at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:67) ~[hibernate-core-6.3.1.Final.jar:6.3.1.Final]
at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:138) ~[hibernate-core-6.3.1.Final.jar:6.3.1.Final]
at org.hibernate.internal.SessionImpl.fireLoadNoChecks(SessionImpl.java:1234) ~[hibernate-core-6.3.1.Final.jar:6.3.1.Final]
at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1222) ~[hibernate-core-6.3.1.Final.jar:6.3.1.Final]
at org.hibernate.loader.internal.IdentifierLoadAccessImpl.load(IdentifierLoadAccessImpl.java:209) ~[hibernate-core-6.3.1.Final.jar:6.3.1.Final]
at org.hibernate.loader.internal.IdentifierLoadAccessImpl.doLoad(IdentifierLoadAccessImpl.java:160) ~[hibernate-core-6.3.1.Final.jar:6.3.1.Final]
at org.hibernate.loader.internal.IdentifierLoadAccessImpl.lambda$load$1(IdentifierLoadAccessImpl.java:149) ~[hibernate-core-6.3.1.Final.jar:6.3.1.Final]
at org.hibernate.loader.internal.IdentifierLoadAccessImpl.perform(IdentifierLoadAccessImpl.java:112) [hibernate-core-6.3.1.Final.jar:6.3.1.Final]
at org.hibernate.loader.internal.IdentifierLoadAccessImpl.load(IdentifierLoadAccessImpl.java:149) [hibernate-core-6.3.1.Final.jar:6.3.1.Final]
at org.hibernate.internal.SessionImpl.get(SessionImpl.java:1030) [hibernate-core-6.3.1.Final.jar:6.3.1.Final]
...
then failed & skip read entity object from redis and read from mysql.
How to fix the problem?
the versions are:
org.hibernate.orm
hibernate-core
6.3.1.Final
and jdk version is 17.
Thanks.
Beta Was this translation helpful? Give feedback.
All reactions