this是spring-data-redis +缓存的示例项目。我想用普通的json在redis中存储缓存,所以我已经用spring提供的objectMapper配置了GenericJackson2JsonRedisSerializer。
目前,当我运行test (应用程序中唯一的一个)时,我得到了以下错误:
java.lang.ClassCastException: class java.util.LinkedHashMap cannot be cast to class com.github.bilakpoc.rediscachedemo.generated.model.ModelImport (java.util.LinkedHashMap is in module java.base of loader 'bootstrap'; com.github.bilakpoc.rediscachedemo.generated.model.ModelImport is in unnamed module of loader 'app')
at com.github.bilakpoc.rediscachedemo.service.ImportService$$EnhancerBySpringCGLIB$$14512ec6.getImportById(<generated>) ~[classes/:na]请大家分享一下如何在json中正确配置redis来存储缓存?
谢谢
发布于 2020-06-16 01:19:38
谢谢你的复制者。您不需要在代码中配置redis缓存。唯一的问题是“生成的代码是不可序列化的”发送给你的修复在https://github.com/bilak-poc/redis-cache-demo/pull/1
将来可以用来作参考
<plugin>
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId>
<version>${openapi-generator-maven-plugin.version}</version>
<executions>
<execution>
<id>openapi</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<apiPackage>${openapi-generator.package}.api</apiPackage>
<configOptions>
<interfaceOnly>true</interfaceOnly>
<serializableModel>true</serializableModel>
</configOptions>
<generatorName>spring</generatorName>
<invokerPackage>${openapi-generator.package}.handler</invokerPackage>
<inputSpec>${pom.basedir}/src/main/resources/openapi/openapi.yaml</inputSpec>
<modelPackage>${openapi-generator.package}.model</modelPackage>
<supportingFilesToGenerate>ApiUtil.java</supportingFilesToGenerate>
</configuration>
</execution>
</executions>
</plugin>应该将serializableModel添加到configOptions中。@EnableCaching就足够了。
我在CacheConfig中留下了评论。实际上,我找到了Jackson2JsonRedisSerializer的另一个解决方法,然后我深入挖掘,找出了真正的问题所在。
https://stackoverflow.com/questions/62303763
复制相似问题