use of com.hazelcast.cp.IAtomicLong in project hazelcast by hazelcast.
the class SmallClusterTest method submitToMembers_callable.
@Test
public void submitToMembers_callable() {
int sum = 0;
ResponseCountingMultiExecutionCallback callback = new ResponseCountingMultiExecutionCallback(instances.length);
Set<Member> membersSet = instances[0].getCluster().getMembers();
Member[] members = membersSet.toArray(new Member[0]);
Random random = new Random();
String name = "testSubmitToMembersCallable";
for (HazelcastInstance instance : instances) {
IExecutorService service = instance.getExecutorService(name);
int n = random.nextInt(instances.length) + 1;
sum += n;
Member[] m = new Member[n];
System.arraycopy(members, 0, m, 0, n);
service.submitToMembers(new IncrementAtomicLongCallable(name), Arrays.asList(m), callback);
}
assertOpenEventually(callback.getLatch());
IAtomicLong result = instances[0].getCPSubsystem().getAtomicLong(name);
assertEquals(sum, result.get());
assertEquals(sum, callback.getCount());
}
use of com.hazelcast.cp.IAtomicLong in project hazelcast by hazelcast.
the class ExecutorServiceTest method testSubmitToMembersRunnable.
@Test
public void testSubmitToMembersRunnable() {
TestHazelcastInstanceFactory factory = createHazelcastInstanceFactory(NODE_COUNT);
HazelcastInstance[] instances = factory.newInstances(smallInstanceConfig());
ResponseCountingMultiExecutionCallback callback = new ResponseCountingMultiExecutionCallback(NODE_COUNT);
int sum = 0;
Set<Member> membersSet = instances[0].getCluster().getMembers();
Member[] members = membersSet.toArray(new Member[0]);
Random random = new Random();
for (int i = 0; i < NODE_COUNT; i++) {
IExecutorService service = instances[i].getExecutorService("testSubmitToMembersRunnable");
int n = random.nextInt(NODE_COUNT) + 1;
sum += n;
Member[] m = new Member[n];
System.arraycopy(members, 0, m, 0, n);
service.submitToMembers(new IncrementAtomicLongRunnable("testSubmitToMembersRunnable"), Arrays.asList(m), callback);
}
assertOpenEventually(callback.getLatch());
IAtomicLong result = instances[0].getCPSubsystem().getAtomicLong("testSubmitToMembersRunnable");
assertEquals(sum, result.get());
assertEquals(sum, callback.getCount());
}
use of com.hazelcast.cp.IAtomicLong in project hazelcast by hazelcast.
the class SmallClusterTest method submitToAllMembers_callable.
@Test
public void submitToAllMembers_callable() {
ResponseCountingMultiExecutionCallback callback = new ResponseCountingMultiExecutionCallback(instances.length);
for (HazelcastInstance instance : instances) {
IExecutorService service = instance.getExecutorService("testSubmitToAllMembersCallable");
service.submitToAllMembers(new IncrementAtomicLongCallable("testSubmitToAllMembersCallable"), callback);
}
assertOpenEventually(callback.getLatch());
IAtomicLong result = instances[0].getCPSubsystem().getAtomicLong("testSubmitToAllMembersCallable");
assertEquals(instances.length * instances.length, result.get());
assertEquals(instances.length * instances.length, callback.getCount());
}
use of com.hazelcast.cp.IAtomicLong in project hazelcast by hazelcast.
the class DurableExecutorServiceTest method testExecuteMultipleNode.
@Test
public void testExecuteMultipleNode() throws Exception {
TestHazelcastInstanceFactory factory = createHazelcastInstanceFactory(NODE_COUNT);
HazelcastInstance[] instances = factory.newInstances(smallInstanceConfig());
for (int i = 0; i < NODE_COUNT; i++) {
DurableExecutorService service = instances[i].getDurableExecutorService("testExecuteMultipleNode");
int rand = new Random().nextInt(100);
Future<Integer> future = service.submit(new IncrementAtomicLongRunnable("count"), rand);
assertEquals(Integer.valueOf(rand), future.get(10, TimeUnit.SECONDS));
}
IAtomicLong count = instances[0].getCPSubsystem().getAtomicLong("count");
assertEquals(NODE_COUNT, count.get());
}
use of com.hazelcast.cp.IAtomicLong in project hazelcast by hazelcast.
the class IAtomicLongMocks method mockIAtomicLong.
/**
* Creates mocks IAtomicLong which wraps an AtomicLong
*/
public static IAtomicLong mockIAtomicLong() {
// keeps actual value
final AtomicLong atomicLong = new AtomicLong();
IAtomicLong iAtomicLong = mock(IAtomicLong.class);
when(iAtomicLong.getAndIncrement()).then(delegateTo(atomicLong));
when(iAtomicLong.compareAndSet(anyLong(), anyLong())).then(delegateTo(atomicLong));
return iAtomicLong;
}
Aggregations