DistributionManager dm = cache1.getCache().getDistributionManager();
DistributedExoCache<Serializable, Object> cache2 =
(DistributedExoCache<Serializable, Object>)new ExoCacheFactoryImpl(
(ExoContainerContext)pc.getComponentInstanceOfType(ExoContainerContext.class),
"jar:/conf/portal/cache-configuration-template.xml", cm, dcm2).createCache(config);
KeyAffinityService kas1 =
KeyAffinityServiceFactory.newLocalKeyAffinityService(cache1.getCache(),
new MyKeyGenerator(cache1.getFullName()), Executors.newSingleThreadExecutor(), 100);
KeyAffinityService kas2 =
KeyAffinityServiceFactory.newLocalKeyAffinityService(cache2.getCache(),
new MyKeyGenerator(cache1.getFullName()), Executors.newSingleThreadExecutor(), 100);
try
{
Object a, b, c;
for (int i = 0; i < 2; i++)
{
if (i == 0)
{
a =
new MyKey("a", ((DistributedExoCache.CacheKey<MyKey>)kas1.getKeyForAddress(cache1.getCache()
.getRpcManager().getAddress())).getKey().value);
}
else
{
a =
new MyKey("a", ((DistributedExoCache.CacheKey<MyKey>)kas2.getKeyForAddress(cache2.getCache()
.getRpcManager().getAddress())).getKey().value);
}
for (int j = 0; j < 2; j++)
{
if (j == 0)
{
b =
new MyKey("b", ((DistributedExoCache.CacheKey<MyKey>)kas1.getKeyForAddress(cache1.getCache()
.getRpcManager().getAddress())).getKey().value);
}
else
{
b =
new MyKey("b", ((DistributedExoCache.CacheKey<MyKey>)kas2.getKeyForAddress(cache2.getCache()
.getRpcManager().getAddress())).getKey().value);
}
for (int k = 0; k < 2; k++)
{
if (k == 0)
{
c =
new MyKey("c", ((DistributedExoCache.CacheKey<MyKey>)kas1.getKeyForAddress(cache1.getCache()
.getRpcManager().getAddress())).getKey().value);
}
else
{
c =
new MyKey("c", ((DistributedExoCache.CacheKey<MyKey>)kas2.getKeyForAddress(cache2.getCache()
.getRpcManager().getAddress())).getKey().value);
}
checkUseCase(cache1, cache2, dm, a, b, c);
}
}