You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Spring XML配置CacheConfiguration设置键与值类型?

解决Spring XML配置Ignite Cache键值类型不生效的问题

你配置里的问题在于keyType和valueType属性的类型是Class<?>,不是字符串,直接传类全名的字符串Spring无法自动转换为Class对象,所以配置不生效。以下是几种正确的配置方式:

方式一:通过<value>标签指定类型

<bean id="cache" class="org.apache.ignite.configuration.CacheConfiguration">
    <property name="name" value="TestCache"/>
    <property name="keyType">
        <value type="java.lang.Class">java.lang.String</value>
    </property>
    <property name="valueType">
        <value type="java.lang.Class">java.lang.String</value>
    </property>
</bean>

方式二:使用Spring EL表达式(更简洁)

<bean id="cache" class="org.apache.ignite.configuration.CacheConfiguration">
    <property name="name" value="TestCache"/>
    <property name="keyType" value="#{T(java.lang.String)}"/>
    <property name="valueType" value="#{T(java.lang.String)}"/>
</bean>

方式三:通过Class的forName工厂方法创建实例

<bean id="cache" class="org.apache.ignite.configuration.CacheConfiguration">
    <property name="name" value="TestCache"/>
    <property name="keyType">
        <bean class="java.lang.Class" factory-method="forName">
            <constructor-arg value="java.lang.String"/>
        </bean>
    </property>
    <property name="valueType">
        <bean class="java.lang.Class" factory-method="forName">
            <constructor-arg value="java.lang.String"/>
        </bean>
    </property>
</bean>

配置完成后,Ignite会严格校验缓存中存入的键和值类型,确保符合你指定的java.lang.String类型。

内容的提问来源于stack exchange,提问作者Mukeshwar Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 09:35:17