Examples of TAsyncClient


Examples of org.apache.blur.thirdparty.thrift_0_9_0.async.TAsyncClient

    });
  }

  private Object execute(AsyncCall call) throws Exception {
    AsyncMethodCallback<?> realCallback = getRealAsyncMethodCallback(call._args);
    TAsyncClient client = newClient(call._clazz, call._connection);
    AsyncMethodCallback<?> retryingCallback = wrapCallback(realCallback, client, call._connection);
    resetArgs(call._args, retryingCallback);
    return call._method.invoke(client, call._args);
  }
View Full Code Here

Examples of org.apache.blur.thirdparty.thrift_0_9_0.async.TAsyncClient

    return (AsyncMethodCallback<?>) args[args.length - 1];
  }

  private TAsyncClient newClient(Class<?> c, Connection connection) throws InterruptedException {
    BlockingQueue<TAsyncClient> blockingQueue = getQueue(connection);
    TAsyncClient client = blockingQueue.poll();
    if (client != null) {
      return client;
    }

    AtomicInteger counter;
    synchronized (_numberOfConnections) {
      counter = _numberOfConnections.get(connection.getHost());
      if (counter == null) {
        counter = new AtomicInteger();
        _numberOfConnections.put(connection.getHost(), counter);
      }
    }

    synchronized (counter) {
      int numOfConnections = counter.get();
      while (numOfConnections >= _maxConnectionsPerHost) {
        client = blockingQueue.poll(_pollTime, TimeUnit.MILLISECONDS);
        if (client != null) {
          return client;
        }
        LOG.debug("Waiting for client number of connection [" + numOfConnections + "], max connection per host [" + _maxConnectionsPerHost + "]");
        numOfConnections = counter.get();
      }
      LOG.info("Creating a new client for [" + connection + "]");
      String name = c.getName();
      Constructor<?> constructor = _constructorCache.get(name);
      if (constructor == null) {
        String clientClassName = name.replace("$AsyncIface", "$AsyncClient");
        try {
          Class<?> clazz = Class.forName(clientClassName);
          constructor = clazz.getConstructor(new Class[] { TProtocolFactory.class, TAsyncClientManager.class, TNonblockingTransport.class });
          _constructorCache.put(name, constructor);
        } catch (Exception e) {
          throw new RuntimeException(e);
        }
      }
      try {
        TNonblockingSocket transport = newTransport(connection);
        client = (TAsyncClient) constructor.newInstance(new Object[] { _protocolFactory, _clientManager, transport });
        client.setTimeout(_timeout);
        counter.incrementAndGet();
        return client;
      } catch (Exception e) {
        throw new RuntimeException(e);
      }
View Full Code Here

Examples of org.apache.thrift.async.TAsyncClient

    ThriftClientPool<TAsyncClient> pool = new ThriftClientPool<TAsyncClient>(
        new MockedMakerFactory());
    assertEquals(0, pool.getNumIdle(sock));
    assertEquals(0, pool.getNumActive(sock));

    TAsyncClient client1 = pool.borrowClient(sock);
   
    assertEquals(0, pool.getNumIdle(sock));
    assertEquals(1, pool.getNumActive(sock));
   
    pool.returnClient(sock, client1);
   
    assertEquals(1, pool.getNumIdle(sock));
    assertEquals(0, pool.getNumActive(sock));
   
    TAsyncClient client2 = pool.borrowClient(sock);

    assertEquals(0, pool.getNumIdle(sock));
    assertEquals(1, pool.getNumActive(sock));
   
    assertEquals(client1, client2);
View Full Code Here

Examples of org.apache.thrift.async.TAsyncClient

        new MockedMakerFactory(), conf);
   
    assertEquals(0, pool.getNumIdle(sock));
    assertEquals(0, pool.getNumActive(sock));
   
    TAsyncClient client = pool.borrowClient(sock);
   
    assertEquals(0, pool.getNumIdle(sock));
    assertEquals(1, pool.getNumActive(sock));
   
    pool.returnClient(sock, client);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.