private boolean checkCommit(final ClientSession session) throws Exception { if (perfParams.isSessionTransacted()) { if (count.longValue() % perfParams.getBatchSize() == 0) { session.commit(); return true; } } return false; }
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(); } }
private void init(final boolean transacted, final String queueName) throws Exception { Map<String, Object> params = new HashMap<String, Object>(); params.put(TransportConstants.TCP_NODELAY_PROPNAME, perfParams.isTcpNoDelay()); params.put(TransportConstants.TCP_SENDBUFFER_SIZE_PROPNAME, perfParams.getTcpBufferSize()); params.put(TransportConstants.TCP_RECEIVEBUFFER_SIZE_PROPNAME, perfParams.getTcpBufferSize()); params.put(TransportConstants.HOST_PROP_NAME, perfParams.getHost()); params.put(TransportConstants.PORT_PROP_NAME, perfParams.getPort()); ServerLocator serverLocator = HornetQClient.createServerLocatorWithoutHA( new TransportConfiguration(NettyConnectorFactory.class.getName(), params)); serverLocator.setPreAcknowledge(perfParams.isPreAck()); serverLocator.setConfirmationWindowSize(perfParams.getConfirmationWindow()); serverLocator.setProducerWindowSize(perfParams.getProducerWindow()); serverLocator.setConsumerWindowSize(perfParams.getConsumerWindow()); serverLocator.setAckBatchSize(perfParams.getBatchSize()); serverLocator.setBlockOnAcknowledge(perfParams.isBlockOnACK()); serverLocator.setBlockOnDurableSend(perfParams.isBlockOnPersistent()); factory = serverLocator.createSessionFactory(); }