Package com.leansoft.bigqueue.thrift

Examples of com.leansoft.bigqueue.thrift.QueueResponse


      req.setData("hello world".getBytes());
      client.enqueue(TOPIC, req);
     
      System.out.println("big queue size after enqueue : " + client.getSize(TOPIC));
     
      QueueResponse resp = client.peek(TOPIC);
      System.out.println("big queue size after peek : " + client.getSize(TOPIC));
      System.out.println("peeked message : " + new String(resp.getData()));
     
      resp = client.dequeue(TOPIC);
      System.out.println("big queue size after dequeue : " + client.getSize(TOPIC));
      System.out.println("dequeued message : " + new String(resp.getData()));
    } finally {
      this.closeClient();
    }
   
  }
View Full Code Here


    this.queueMap = new HashMap<String, IBigQueue>();
  }

  @Override
  public QueueResponse enqueue(String topic, QueueRequest req) throws TException {
    QueueResponse resp = new QueueResponse();
    if (topic == null) {
      resp.setResultCode(ResultCode.FAILURE);
      return resp;
    }
    IBigQueue bigQueue = queueMap.get(topic);
    if (bigQueue == null) {
      synchronized(lock) {
        bigQueue = queueMap.get(topic);
        if (bigQueue == null) {
          try {
            bigQueue = new BigQueueImpl(queueDir, topic);
            queueMap.put(topic, bigQueue);
          } catch (IOException e) {
            resp.setResultCode(ResultCode.FAILURE);
            return resp;
          }
        }
      }
    }
   
    if (req.getData() != null && req.getData().length > 0) {
      try {
        bigQueue.enqueue(req.getData());
      } catch (IOException e) {
        resp.setResultCode(ResultCode.FAILURE);
        return resp;
      }
      resp.setResultCode(ResultCode.SUCCESS);
      return resp;
    } else {
      resp.setResultCode(ResultCode.FAILURE);
      return resp;
    }
  }
View Full Code Here

    }
  }

  @Override
  public QueueResponse dequeue(String topic) throws TException {
    QueueResponse resp = new QueueResponse();
    byte[] data = null;
    IBigQueue bigQueue = queueMap.get(topic);
    if (bigQueue != null) {
      try {
        data = bigQueue.dequeue();
      } catch (IOException e) {
        resp.setResultCode(ResultCode.FAILURE);
        return resp;
      }
    }
    resp.setResultCode(ResultCode.SUCCESS);
    resp.setData(data);
    return resp;
  }
View Full Code Here

    return resp;
  }

  @Override
  public QueueResponse peek(String topic) throws TException {
    QueueResponse resp = new QueueResponse();
    byte[] data = null;
    IBigQueue bigQueue = queueMap.get(topic);
    if (bigQueue != null) {
      try {
        data = bigQueue.peek();
      } catch (IOException e) {
        resp.setResultCode(ResultCode.FAILURE);
        return resp;
      }
    }
    resp.setResultCode(ResultCode.SUCCESS);
    resp.setData(data);
    return resp;
  }
View Full Code Here

            // instead pre-gen a log when the producer is initialized
//            byte[] logEvent = RandomLogGenerator.genRandomLogEventBytes(LOG_MESSAGE_SIZE_LIMIT);
            long begin = System.currentTimeMillis();
            QueueRequest request = new QueueRequest();
            request.setData(logEvent);
            QueueResponse response = client.enqueue(TestClient.TOPIC, request);
            long end = System.currentTimeMillis();
            if (response.getResultCode() == ResultCode.SUCCESS) {
              testResult.successCount++;
            } else {
              testResult.failureCount++;
            }
            testResult.totalBytesSent += logEvent.length;
View Full Code Here

       
        int nullCount = 0;
       
        while(true) {
          long begin = System.currentTimeMillis();
          QueueResponse response = this.client.dequeue(TestClient.TOPIC);
          long end = System.currentTimeMillis();
          if (response.getData() != null) {
            if (response.getResultCode() == ResultCode.SUCCESS) {
              testResult.successCount++;
            } else {
              testResult.failureCount++;
            }
            nullCount = 0;
            testResult.totalBytesReceived += response.getData().length;
            testResult.totalDelay += end - begin;
            testResult.loopCount++;
          } else {
            nullCount++;
          }
View Full Code Here

TOP

Related Classes of com.leansoft.bigqueue.thrift.QueueResponse

Copyright © 2018 www.massapicom. 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.