使用spring-boot和spring-webflux并与hazelcast集成时,尝试使用基于注释的缓存时会出现错误。
我试着只使用spring-cache而不使用hazelcast,效果很好。但我应该使用hazelcast。
Maven依赖项
<dependency>
<groupId>com.hazelcast</groupId>
<artifactId>hazelcast</artifactId>
</dependency>
<dependency>
<groupId>com.hazelcast</groupId>
<artifactId>hazelcast-spring</artifactId>
</dependency>在使用可缓存批注时的普通方法中
@Cacheable("ref-id")
public Mono<String> testCache(String testValue) {
try {
TimeUnit.SECONDS.sleep(5); // (1)
} catch (InterruptedException e) {
e.printStackTrace();
}
return Mono.just(testValue);
}抛出此错误
com.hazelcast.nio.serialization.HazelcastSerializationException: Failed to serialize 'reactor.core.publisher.MonoJust'
at com.hazelcast.internal.serialization.impl.SerializationUtil.handleSerializeException(SerializationUtil.java:75)
at com.hazelcast.internal.serialization.impl.AbstractSerializationService.toBytes(AbstractSerializationService.java:157)
at com.hazelcast.internal.serialization.impl.AbstractSerializationService.toBytes(AbstractSerializationService.java:133)
at com.hazelcast.internal.serialization.impl.AbstractSerializationService.toData(AbstractSerializationService.java:118)
at com.hazelcast.internal.serialization.impl.AbstractSerializationService.toData(AbstractSerializationService.java:106)
.
.
Caused by: com.hazelcast.nio.serialization.HazelcastSerializationException: There is no suitable serializer for class reactor.core.publisher.MonoJust
at com.hazelcast.internal.serialization.impl.AbstractSerializationService.serializerFor(AbstractSerializationService.java:487)
at com.hazelcast.internal.serialization.impl.AbstractSerializationService.toBytes(AbstractSerializationService.java:146)https://stackoverflow.com/questions/57344309
复制相似问题