Ignite通过rest api将POJO bean值放入缓存

时间:2018-03-07 09:06:39

标签: rest ignite

我想使用REST API将POJO bean键值对放入Ignite缓存。我可以将字符串键值对放入缓存。但在这里我想把一个类作为关键值。我如何为此创建REST URL。  我的配置文件看起来像这样

<property name="cacheConfiguration">
        <bean class="org.apache.ignite.configuration.CacheConfiguration">
            <!-- Set a cache name. -->
            <property name="name" value="cacheName"/>

            <!-- Set cache mode. -->
                    <property name="cacheMode" value="PARTITIONED"/>
        <property name="indexedTypes">
        <list>
        <value>com.test.EntitlementKey</value>
        <value>com.test.Entitlement</value>
        </list>
        </property>
        </bean>
    </property>

Entitilement Class看起来像这样

import org.apache.ignite.cache.query.annotations.QuerySqlField;
public class Entitlement {

    @QuerySqlField

    private String name;

    @QuerySqlField

    private String desc;
public String getname() {
    return name;
}
public void setname(String name) {
    this.name = name;
}
public String getdesc() {
    return desc;
}
public void setdesc(String desc) {
    this.desc = desc;
}

和EntitlementKey类

public class EntitlementKey {
    @QuerySqlField(index = true)
    private String eid;

    @QuerySqlField
    private String id;
public String getEid() {
        return eid;
    }

    public void setEid(String eid) {
        this.eid = eid;
    }
    public String getid() {
        return id;
    }

    public void setid(String id) {

        this.id = id;
    }

1 个答案:

答案 0 :(得分:0)

目前,在master中,您可以找到ticket的实现,它允许使用内部java类型作为键和值。

此时如果要使用自定义类型,则需要使用ConnectorMessageInterceptor接口。一旦实现并配置它,您将开始接收来回传递的所有键和值的回调。因此,您可以以某种方式将对象编码为String,然后将其转换为拦截器内的真实对象。相反:在从缓存中返回对象之前,您可以将其转换为某种String形式。