访问Ignite缓存中的基础类型定义

访问Ignite缓存中的基础类型定义,ignite,jcache,Ignite,Jcache,是否有任何方法可以获取由其他代码创建的缓存的底层键和值类型定义?此时,我只知道缓存名称。我没有关于缓存是如何创建的任何其他信息 IgniteCache<K, V> dataCache = ignite.cache("dataCache"); IgniteCache dataCache=ignite.cache(“数据缓存”); 我需要得到上面一行中K和V的类型 我将向缓存附加CacheEntryListener,并且我需要访问缓存的值部分中的字段。我该怎么做?是否有任何方法可以从

是否有任何方法可以获取由其他代码创建的缓存的底层键和值类型定义?此时,我只知道缓存名称。我没有关于缓存是如何创建的任何其他信息

IgniteCache<K, V> dataCache = ignite.cache("dataCache");
IgniteCache dataCache=ignite.cache(“数据缓存”);
我需要得到上面一行中K和V的类型


我将向缓存附加CacheEntryListener,并且我需要访问缓存的值部分中的字段。我该怎么做?是否有任何方法可以从侦听器方法中获取的CacheEntryEvent事件访问类型信息?

Ignite cache没有任何基础类型定义,它可以保存任何类型的数据。 泛型只是为了您的方便

例如,您可以执行以下操作:

IgniteCache<String, String> sCache = ignite.createCache("foo");
sCache.put("1", "2");

IgniteCache<Integer, Integer> iCache = ignite.cache("foo"); // same cache
iCache.put(1, 2);

IgniteCache<Object, Object> oCache = ignite.cache("foo"); // same cache
oCache.get(1);  // 2
oCache.get("1");  // "2"
IgniteCache sCache=ignite.createCache(“foo”);
骗局。付诸表决(“1”、“2”);
IgniteCache iCache=ignite.cache(“foo”);//相同缓存
iCache.put(1,2);
IgniteCache-oCache=ignite.cache(“foo”);//相同缓存
oCache.get(1);//2.
oCache.get(“1”);//"2"
但是,不建议这样做


每个缓存一种类型是推荐的方法:您的应用程序逻辑应该确保每个命名的缓存仅适用于特定的数据类型。

我同意。但是,假设我的ignite代码不知道缓存中的值的类型。缓存可能是由我的应用程序管道中的其他组件创建的。它可以是员工类型,也可以是学生类型。我可以得到类型定义吗(可以是Employee.class或Student.class)?@JamesIsaac的一般回答是否:Ignite不存储该定义。createCache(“c”)与createCache(“c”)相同。