首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >json中的Spring Data Redis缓存抛出ClassCastException

json中的Spring Data Redis缓存抛出ClassCastException
EN

Stack Overflow用户
提问于 2020-06-10 20:36:31
回答 1查看 549关注 0票数 0

this是spring-data-redis +缓存的示例项目。我想用普通的json在redis中存储缓存,所以我已经用spring提供的objectMapper配置了GenericJackson2JsonRedisSerializer

目前,当我运行test (应用程序中唯一的一个)时,我得到了以下错误:

代码语言:javascript
复制
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来存储缓存?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2020-06-16 01:19:38

谢谢你的复制者。您不需要在代码中配置redis缓存。唯一的问题是“生成的代码是不可序列化的”发送给你的修复在https://github.com/bilak-poc/redis-cache-demo/pull/1

将来可以用来作参考

代码语言:javascript
复制
        <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的另一个解决方法,然后我深入挖掘,找出了真正的问题所在。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62303763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档