Example #1
0
  protected void runSender() {
    try {
      PerfBase.log.info("params = " + perfParams);

      init(perfParams.isSessionTransacted(), perfParams.getQueueName());

      if (perfParams.isDrainQueue()) {
        drainQueue();
      }

      start = System.currentTimeMillis();
      PerfBase.log.info(
          "warming up by sending " + perfParams.getNoOfWarmupMessages() + " messages");
      sendMessages(
          perfParams.getNoOfWarmupMessages(),
          perfParams.getBatchSize(),
          perfParams.isDurable(),
          perfParams.isSessionTransacted(),
          false,
          perfParams.getThrottleRate(),
          perfParams.getMessageSize(),
          perfParams.isUseSendAcks());
      PerfBase.log.info("warmed up");
      start = System.currentTimeMillis();
      sendMessages(
          perfParams.getNoOfMessagesToSend(),
          perfParams.getBatchSize(),
          perfParams.isDurable(),
          perfParams.isSessionTransacted(),
          true,
          perfParams.getThrottleRate(),
          perfParams.getMessageSize(),
          perfParams.isUseSendAcks());
      long end = System.currentTimeMillis();
      displayAverage(perfParams.getNoOfMessagesToSend(), start, end);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
Example #2
0
  protected void runListener() {
    ClientSession session = null;

    try {
      init(perfParams.isSessionTransacted(), perfParams.getQueueName());

      session =
          factory.createSession(
              !perfParams.isSessionTransacted(), !perfParams.isSessionTransacted());

      if (perfParams.isDrainQueue()) {
        drainQueue();
      }

      ClientConsumer consumer = session.createConsumer(perfParams.getQueueName());

      session.start();

      PerfBase.log.info("READY!!!");

      CountDownLatch countDownLatch = new CountDownLatch(1);
      consumer.setMessageHandler(new PerfListener(session, countDownLatch, perfParams));
      countDownLatch.await();
      long end = System.currentTimeMillis();
      // start was set on the first received message
      displayAverage(perfParams.getNoOfMessagesToSend(), start, end);
    } catch (Exception e) {
      e.printStackTrace();
    } finally {
      if (factory != null) {
        try {
          factory.close();
        } catch (Exception e) {
          e.printStackTrace();
        }
      }
    }
  }