我想使用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;
}
答案 0 :(得分:0)
目前,在master中,您可以找到ticket的实现,它允许使用内部java类型作为键和值。
此时如果要使用自定义类型,则需要使用ConnectorMessageInterceptor接口。一旦实现并配置它,您将开始接收来回传递的所有键和值的回调。因此,您可以以某种方式将对象编码为String,然后将其转换为拦截器内的真实对象。相反:在从缓存中返回对象之前,您可以将其转换为某种String形式。