use of net.spy.memcached.internal.OperationFuture in project oxAuth by GluuFederation.
the class MemcacheManual method main.
public static void main(String[] args) throws IOException {
final MemcachedClient client = createClients();
final ExecutorService executorService = Executors.newFixedThreadPool(1000, daemonThreadFactory());
int count = 10000;
final long start = System.currentTimeMillis();
for (int i = 0; i < count; i++) {
final int key = i;
executorService.execute(new Runnable() {
@Override
public void run() {
// MemcachedClient client = clients.get(random);
Object toPut = testGrant();
// Object toPut = UUID.randomUUID().toString();
OperationFuture<Boolean> set = null;
for (int j = 0; j < 3; j++) {
set = client.set(Integer.toString(key), 60, toPut);
}
// block
OperationStatus status = set.getStatus();
System.out.println(" key: " + key + ", time: " + (new Date().getTime() - start) + "ms, set: " + status);
executorService.execute(new Runnable() {
@Override
public void run() {
int random = random();
if (random % 3 == 0) {
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
Object get = client.get(Integer.toString(key));
System.out.println("GET key: " + key + " result: " + get);
}
});
}
});
}
sleep(40);
// System.out.println(client.get("myKey"));
//
// client.set("myKey", 30, testState());
//
// sleep(12);
// System.out.println(client.get("myKey"));
//
// sleep(12);
// System.out.println(client.get("myKey"));
client.shutdown();
}
use of net.spy.memcached.internal.OperationFuture in project camel by apache.
the class CouchbaseProducerTest method testTimeOutRetryThenSuccess.
@Test
public void testTimeOutRetryThenSuccess() throws Exception {
OperationFuture of = mock(OperationFuture.class);
when(of.get()).thenAnswer(new Answer<Object>() {
@Override
public Object answer(InvocationOnMock invocation) throws Exception {
throw new RuntimeException("Timed out waiting for operation");
}
}).thenAnswer(new Answer<Object>() {
@Override
public Object answer(InvocationOnMock invocation) throws Exception {
return true;
}
});
when(client.set(org.mockito.Matchers.anyString(), org.mockito.Matchers.anyInt(), org.mockito.Matchers.anyObject(), org.mockito.Matchers.any(PersistTo.class), org.mockito.Matchers.any(ReplicateTo.class))).thenReturn(of);
when(endpoint.getId()).thenReturn("123");
when(endpoint.getOperation()).thenReturn("CCB_PUT");
when(exchange.getOut()).thenReturn(msg);
producer.process(exchange);
verify(of, times(2)).get();
verify(msg).setBody(true);
}
use of net.spy.memcached.internal.OperationFuture in project camel by apache.
the class CouchbaseProducerTest method testTimeOutRetryTwiceThenSuccess.
@Test
public void testTimeOutRetryTwiceThenSuccess() throws Exception {
OperationFuture of = mock(OperationFuture.class);
when(of.get()).thenAnswer(new Answer<Object>() {
@Override
public Object answer(InvocationOnMock invocation) throws Exception {
throw new RuntimeException("Timed out waiting for operation");
}
}).thenAnswer(new Answer<Object>() {
@Override
public Object answer(InvocationOnMock invocation) throws Exception {
throw new RuntimeException("Timed out waiting for operation");
}
}).thenAnswer(new Answer<Object>() {
@Override
public Object answer(InvocationOnMock invocation) throws Exception {
return true;
}
});
when(client.set(org.mockito.Matchers.anyString(), org.mockito.Matchers.anyInt(), org.mockito.Matchers.anyObject(), org.mockito.Matchers.any(PersistTo.class), org.mockito.Matchers.any(ReplicateTo.class))).thenReturn(of);
when(endpoint.getId()).thenReturn("123");
when(endpoint.getOperation()).thenReturn("CCB_PUT");
when(exchange.getOut()).thenReturn(msg);
producer.process(exchange);
verify(of, times(3)).get();
verify(msg).setBody(true);
}
use of net.spy.memcached.internal.OperationFuture in project camel by apache.
the class CouchbaseProducerTest method testExpiryTimeIsSet.
@Test
public void testExpiryTimeIsSet() throws Exception {
OperationFuture of = mock(OperationFuture.class);
when(of.get()).thenAnswer(new Answer<Object>() {
@Override
public Object answer(InvocationOnMock invocation) throws Exception {
return true;
}
});
when(client.set(org.mockito.Matchers.anyString(), org.mockito.Matchers.anyInt(), org.mockito.Matchers.anyObject(), org.mockito.Matchers.any(PersistTo.class), org.mockito.Matchers.any(ReplicateTo.class))).thenReturn(of);
// Mock out some headers so we can set an expiry
int expiry = 5000;
Map<String, Object> testHeaders = new HashMap<String, Object>();
testHeaders.put("CCB_TTL", Integer.toString(expiry));
when(msg.getHeaders()).thenReturn(testHeaders);
when(msg.getHeader(HEADER_TTL, String.class)).thenReturn(Integer.toString(expiry));
when(endpoint.getId()).thenReturn("123");
when(endpoint.getOperation()).thenReturn("CCB_PUT");
Message outmsg = mock(Message.class);
when(exchange.getOut()).thenReturn(msg);
producer.process(exchange);
verify(client).set(org.mockito.Matchers.anyString(), Mockito.eq(expiry), org.mockito.Matchers.anyObject(), org.mockito.Matchers.any(PersistTo.class), org.mockito.Matchers.any(ReplicateTo.class));
}
use of net.spy.memcached.internal.OperationFuture in project camel by apache.
the class CouchbaseProducerTest method testTimeOutRetryToException.
@Test
public void testTimeOutRetryToException() throws Exception {
OperationFuture of = mock(OperationFuture.class);
when(of.get()).thenAnswer(new Answer<Object>() {
@Override
public Object answer(InvocationOnMock invocation) throws Exception {
throw new RuntimeException("Timed out waiting for operation");
}
});
when(client.set(org.mockito.Matchers.anyString(), org.mockito.Matchers.anyInt(), org.mockito.Matchers.anyObject(), org.mockito.Matchers.any(PersistTo.class), org.mockito.Matchers.any(ReplicateTo.class))).thenReturn(of);
when(endpoint.getId()).thenReturn("123");
when(endpoint.getOperation()).thenReturn("CCB_PUT");
try {
producer.process(exchange);
} catch (Exception e) {
// do nothing
verify(of, times(3)).get();
}
}
Aggregations