У меня есть конфигурация, в которой кеш хранится на одном узле, а доступ к нему осуществляется с другого. Хотя я могу получить () и положить () отлично, некоторые операции, такие как size (), keySet () и т. д., не возвращают мне правильные результаты.
Конфигурация кеша клиентского узла Test1
<bean id="test-cache" class="org.gridgain.grid.cache.GridCacheConfiguration">
<property name="name" value="testCache"/>
<property name="cacheMode" value="PARTITIONED"/>
<property name="distributionMode" value="CLIENT_ONLY" />
<property name="swapEnabled" value="true"/>
</bean>
Класс клиентского узла Test1
public class GridGainTest1
{
public static void main(String[] args) throws Exception
{
//Client Mode
Grid g = GridGain.start("etc/config/grid-test1.xml");
//Put in Remote Cache
g.cache("testCache").put(1, "ABC");
g.cache("testCache").put(2, "XYZ");
System.out.println("Size of Cache :- " + g.cache("testCache").size());
System.out.println("Value for 1 :- " + g.cache("testCache").get(1));
System.out.println("Value for 2 :- " + g.cache("testCache").get(2));
}
Конфигурация кэша узла данных Test2
<bean id="test-cache" class="org.gridgain.grid.cache.GridCacheConfiguration">
<property name="name" value="testCache"/>
<property name="cacheMode" value="PARTITIONED"/>
<property name="swapEnabled" value="true"/>
</bean>
Класс узла данных Test2
public class GridGainTest2
{
public static void main(String[] args) throws Exception
{
Grid g = GridGain.start("etc/config/grid-test2.xml");
}
}
Выход из узла 1 выглядит следующим образом, где размер принимает значение 0, даже если на карте есть записи. Я не уверен, что это связано с какой-то неправильной настройкой.
Size of Cache :- 0
Value for 1 :- ABC
Value for 2 :- XYZ