Search in sources :

Example 6 with OperationFuture

use of net.spy.memcached.internal.OperationFuture in project oxAuth by GluuFederation.

the class CacheGrantManual 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();
}
Also used : MemcachedClient(net.spy.memcached.MemcachedClient) OperationStatus(net.spy.memcached.ops.OperationStatus) ExecutorService(java.util.concurrent.ExecutorService) OperationFuture(net.spy.memcached.internal.OperationFuture) Date(java.util.Date)

Aggregations

OperationFuture (net.spy.memcached.internal.OperationFuture)6 PersistTo (net.spy.memcached.PersistTo)4 ReplicateTo (net.spy.memcached.ReplicateTo)4 InvalidPayloadException (org.apache.camel.InvalidPayloadException)4 Test (org.junit.Test)4 InvocationOnMock (org.mockito.invocation.InvocationOnMock)4 Date (java.util.Date)2 ExecutorService (java.util.concurrent.ExecutorService)2 MemcachedClient (net.spy.memcached.MemcachedClient)2 OperationStatus (net.spy.memcached.ops.OperationStatus)2 Answer (org.mockito.stubbing.Answer)2 HashMap (java.util.HashMap)1 Message (org.apache.camel.Message)1