[英]ClassCastException: com.datastax.oss.driver.internal.core.type.DefaultListType cannot be cast to class com.datastax.oss.driver.api.core.type.SetType
until the migration from spring-boot-starter-parent 2.1.8 to 2.5.2 I got the following error and I don't find the solution.直到从 spring-boot-starter-parent 2.1.8 迁移到 2.5.2 我收到以下错误并且我没有找到解决方案。
When I execute a save on my reactives repostiories, I got the following error below, and I don't find any solution.当我对我的 reactives 存储库执行保存时,出现以下错误,我没有找到任何解决方案。 Anyone else have a solution please?
请问还有其他人有解决办法吗?
reactor.core.Exceptions$ErrorCallbackNotImplemented: java.lang.ClassCastException: class com.datastax.oss.driver.internal.core.type.DefaultListType cannot be cast to class com.datastax.oss.driver.api.core.type.SetType (com.datastax.oss.driver.internal.core.type.DefaultListType and com.datastax.oss.driver.api.core.type.SetType are in unnamed module of loader 'app') Caused by: java.lang.ClassCastException: class com.datastax.oss.driver.internal.core.type.DefaultListType cannot be cast to class com.datastax.oss.driver.api.core.type.SetType (com.datastax.oss.driver.internal.core.type.DefaultListType and com.datastax.oss.driver.api.core.type.SetType are in unnamed module of loader 'app') at com.datastax.oss.driver.internal.core.type.codec.registry.CachingCodecRegistry.inspectType(CachingCodecRegistry.java:3
reactor.core.Exceptions$ErrorCallbackNotImplemented: java.lang.ClassCastException: class com.datastax.oss.driver.internal.core.type.DefaultListType cannot be cast to class com.datastax.oss.driver.api.core.type.SetType (com.datastax.oss.driver.internal.core.type.DefaultListType 和 com.datastax.oss.driver.api.core.type.SetType 位于加载程序“app”的未命名模块中) 原因:java.lang.ClassCastException : class com.datastax.oss.driver.internal.core.type.DefaultListType 无法转换为 class com.datastax.oss.driver.api.core.type.SetType (com.datadrivestax type.DefaultListType 和 com.datastax.oss.driver.api.core.type.SetType 位于加载程序“app”的未命名模块中)位于 com.datastax.oss.driver.internal.core.type.codec.registry.CachingCodecRegistry。 inspectType(CachingCodecRegistry.java:3 59) at com.datastax.oss.driver.internal.core.type.codec.registry.CachingCodecRegistry.codecFor(CachingCodecRegistry.java:256) at com.datastax.oss.driver.internal.core.data.ValuesHelper.encodePreparedValues(ValuesHelper.java:112) at com.datastax.oss.driver.internal.core.cql.DefaultPreparedStatement.boundStatementBuilder(DefaultPreparedStatement.java:187) at org.springframework.data.cassandra.core.PreparedStatementDelegate.bind(PreparedStatementDelegate.java:51) at org.springframework.data.cassandra.core.ReactiveCassandraTemplate$PreparedStatementHandler.bindValues(ReactiveCassandraTemplate.java:1040) at org.springframework.data.cassandra.core.cql.ReactiveCqlTemplate.lambda$null$6(ReactiveCqlTemplate.java:577) at reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:152) at reactor.core.publisher.MonoFlatMapMany.subscribeOrReturn(MonoFlatMapMany.882132
59) 在 com.datastax.oss.driver.internal.core.type.codec.registry.CachingCodecRegistry.codecFor(CachingCodecRegistry.java:256) 在 com.datastax.oss.driver.internal.core.data.ValuesPreParedValues ValuesHelper.java:112) at com.datastax.oss.driver.internal.core.cql.DefaultPreparedStatement.boundStatementBuilder(DefaultPreparedStatement.java:187) at org.springframework.data.cassandra.core.PreparedStatementDelegate.bind(PreparedStatementDelegate.java: 51) at org.springframework.data.cassandra.core.ReactiveCassandraTemplate$PreparedStatementHandler.bindValues(ReactiveCassandraTemplate.java:1040) at org.springframework.data.cassandra.core.cql.ReactiveCqlTemplate.lambda$null$6(ReactiveCqlTemplate.java:577 ) 在 reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:152) 在 reactor.core.publisher.MonoFlatMapMany.subscribeOrReturn(MonoFlatMapMany.882132) 46945888:49) at reactor.core.publisher.Flux.subscribe(Flux.java:8221) at reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onNext(MonoFlatMapMany.java:195) at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1815) at reactor.core.publisher.MonoCompletionStage.lambda$subscribe$0(MonoCompletionStage.java:82) at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859) at java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883) at java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2251) at java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:143) at reactor.core.publisher.MonoCompletionStage.subscribe(MonoCompletionStage.java:57) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.882132469
46945888:49) 在 reactor.core.publisher.Flux.subscribe(Flux.java:8221) 在 reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onNext(MonoFlatMapMany.java:195) 在 reactor.core.publisher.Operators$MonoSubscriber .complete(Operators.java:1815) 在 reactor.core.publisher.MonoCompletionStage.lambda$subscribe$0(MonoCompletionStage.java:82) 在 java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(Completable1852.868) at java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883) at java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2251) at java.base/java.util .concurrent.CompletableFuture.whenComplete(CompletableFuture.java:143) 在 reactor.core.publisher.MonoCompletionStage.subscribe(MonoCompletionStage.java:57) 在 reactor.core.publisher.MonoDefer.subscribe(MonoDefer.882132469) 45888:52) at reactor.core.publisher.Flux.subscribe(Flux.java:8235) at reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:200) at reactor.core.publisher.MonoFlatMapMany.subscribeOrReturn(MonoFlatMapMany.java:49) at reactor.core.publisher.Mono.subscribe(Mono.java:4135) at reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:200) at reactor.core.publisher.MonoFlatMapMany.subscribeOrReturn(MonoFlatMapMany.java:49) at reactor.core.publisher.MonoFromFluxOperator.subscribe(MonoFromFluxOperator.java:74) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52) at reactor.core.publisher.Mono.subscribe(Mono.java:4150) at reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:203) at reactor.core.publisher.MonoFlatMap.subscribeOrReturn(MonoFlatMap.java:53) at reactor.core.publisher.Mono.subscr
45888:52) 在 reactor.core.publisher.Flux.subscribe(Flux.java:8235) .java:49) 在 reactor.core.publisher.Mono.subscribe(Mono.java:4135) 在 reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:200) 在 reactor.core.MonoscribeManoscribeManoplisherMap.8888:200 MonoFlatMapMany.java:49) 在 reactor.core.publisher.MonoFromFluxOperator.subscribe(MonoFromFluxOperator.java:74) 在 reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52) 在 reactor.core.publisher.88753subscribe.887536784 (Mono.java:4150) 在 reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:203) 在 reactor.core.publisher.MonoFlatMap.subscribeOrReturn(MonoFlatMap.java:53) 在 reactor.48.8.876588:53)订阅ibe(Mono.java:4135) at reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:426) at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:270) at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:228) at reactor.core.publisher.FluxFlatMap$FlatMapMain.onSubscribe(FluxFlatMap.java:371) at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:164) at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:86) at reactor.core.publisher.Flux.subscribe(Flux.java:8235) at reactor.core.publisher.FluxUsingWhen.subscribe(FluxUsingWhen.java:93) at reactor.core.publisher.Flux.subscribe(Flux.java:8235) at reactor.core.publisher.Flux.subscribeWith(Flux.java:8408) at reactor.core.publisher.Flux.subscribe(Flux.java:8205) at reactor.core.publisher.Flux.subscribe(Flux.java:8129)
ibe(Mono.java:4135) 在 reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:426) 在 reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:270) reactor .publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:228) 在 reactor.core.publisher.FluxFlatMap$FlatMapMain.onSubscribe(FluxFlatMap.java:371) 在 reactor.core.publisher.FluxIterable.subscribe(FluxIterable8:88694613) ) 在 reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:86) 在 reactor.core.publisher.Flux.subscribe(Flux.java:8235) 在 reactor.core.publisher.FluxUsingWhen.subscribe(FluxUsingWhen.java: 93) 在 reactor.core.publisher.Flux.subscribe(Flux.java:8235) 在 reactor.core.publisher.Flux.subscribeWith(Flux.java:8408) 在 reactor.core.publisher.Flux.subscribe(Flux.java) :8205) 在 reactor.core.publisher.Flux.subscribe(Flux.java:8129) at reactor.core.publisher.Flux.subscribe(Flux.java:8047) at fr.contractsink.services.ContractConsumer.receive(ContractConsumer.java:71) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.springframework.messaging.handler.invocation.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:171) at org.springframework.messaging.handler.invocation.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:120) at org.springframework.kafka.listener.adapter.HandlerAdapter.invoke(HandlerAdapter.java:56) at org.springframework.kafka.listener.adapter.MessagingMessageListe
在 reactor.core.publisher.Flux.subscribe(Flux.java:8047) 在 fr.contractsink.services.ContractConsumer.receive(ContractConsumer.java:71) 在 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invo Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java .lang.reflect.Method.invoke(Method.java:566) 在 org.springframework.messaging.handler.invocation.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:171) 在 org.springframework.messaging.handler.invocation.Invocable.invocableHandvolerMethod (InvocableHandlerMethod.java:120)在 org.springframework.kafka.listener.adapter.HandlerAdapter.invoke(HandlerAdapter.java:56)在 org.springframework.kafka.listener.adapter.MessagingMessageListe nerAdapter.invokeHandler(MessagingMessageListenerAdapter.java:347) at org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:92) at org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:53) at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeOnMessage(KafkaMessageListenerContainer.java:2319) at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeOnMessage(KafkaMessageListenerContainer.java:2300) at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeRecordListener(KafkaMessageListenerContainer.java:2214) at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeWithRecords(KafkaMessageListenerContainer.java:2139)
nerAdapter.invokeHandler(MessagingMessageListenerAdapter.java:347) at org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java:92) at org.springframework.kafka.listener.adapter.RecordMessagingMessageListenerAdapter.onMessage(RecordMessagingMessageListenerAdapter.java: 53) at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeOnMessage(KafkaMessageListenerContainer.java:2319) at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeOnMessage(KafkaMessageListenerContainer.java:2300) at org.springframework.kafka .listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeRecordListener(KafkaMessageListenerContainer.java:2214) 在 org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doInvokeWithRecords(KafkaMessageListenerContainer.882132469413888):2 at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeRecordListener(KafkaMessageListenerContainer.java:2021) at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeListener(KafkaMessageListenerContainer.java:1703) at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeIfHaveRecords(KafkaMessageListenerContainer.java:1272) at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.pollAndInvoke(KafkaMessageListenerContainer.java:1264) at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.run(KafkaMessageListenerContainer.java:1161) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264) at java.base/java.util.concurre
at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeRecordListener(KafkaMessageListenerContainer.java:2021) at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.invokeListener(KafkaMessageListenerContainer.java:1703) at org.springframework.kafka.listener .KafkaMessageListenerContainer$ListenerConsumer.invokeIfHaveRecords(KafkaMessageListenerContainer.java:1272) at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.pollAndInvoke(KafkaMessageListenerContainer.java:1264) at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.run(KafkaMessageListenerContainer .java:1161) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java :264) 在 java.base/java.util.concurre nt.FutureTask.run(FutureTask.java) at java.base/java.lang.Thread.run(Thread.java:829)
nt.FutureTask.run(FutureTask.java) 在 java.base/java.lang.Thread.run(Thread.java:829)
The only dependency declared for cassandra in my pom.xml is:在我的 pom.xml 中为 cassandra 声明的唯一依赖项是:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-cassandra-reactive</artifactId> </dependency>
enter image description here Thank a lot and best best regards, Adrien在此输入图片描述非常感谢和最诚挚的问候, 阿德里安
I had the same problem.我有同样的问题。 The problem was the repository has parameter of Collection type that was used in the IN predicate for the query.
问题是存储库具有 Collection 类型的参数,该参数在查询的 IN 谓词中使用。
For that parameter sometimes Set was passed, sometimes list, and HashSet caused the problem.对于该参数,有时会传递 Set,有时会传递列表,而 HashSet 会导致问题。 I've changed Collection to List in the repository method signature, added coversion to the list for Set, and everything started to work.
我已经在存储库方法签名中将 Collection 更改为 List,将 coversion 添加到 Set 的列表中,一切都开始工作了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.