org.apache.activemq.ActiveMQPrefetchPolicy

Here are the examples of the java api class org.apache.activemq.ActiveMQPrefetchPolicy taken from open source projects.

1. NetworkLoadTest#createConnection()

Project: activemq-artemis
File: NetworkLoadTest.java
protected Connection createConnection(int brokerId) throws JMSException {
    ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:" + (60000 + brokerId));
    connectionFactory.setOptimizedMessageDispatch(true);
    connectionFactory.setCopyMessageOnSend(false);
    connectionFactory.setUseCompression(false);
    connectionFactory.setDispatchAsync(true);
    connectionFactory.setUseAsyncSend(false);
    connectionFactory.setOptimizeAcknowledge(false);
    connectionFactory.setWatchTopicAdvisories(false);
    ActiveMQPrefetchPolicy qPrefetchPolicy = new ActiveMQPrefetchPolicy();
    qPrefetchPolicy.setQueuePrefetch(100);
    qPrefetchPolicy.setTopicPrefetch(1000);
    connectionFactory.setPrefetchPolicy(qPrefetchPolicy);
    connectionFactory.setAlwaysSyncSend(true);
    return connectionFactory.createConnection();
}

2. NetworkBrokerDetachTest#createConnectionFactory()

Project: activemq-artemis
File: NetworkBrokerDetachTest.java
protected ConnectionFactory createConnectionFactory(final BrokerService broker) throws Exception {
    String url = broker.getTransportConnectors().get(0).getServer().getConnectURI().toString();
    ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(url);
    connectionFactory.setOptimizedMessageDispatch(true);
    connectionFactory.setCopyMessageOnSend(false);
    connectionFactory.setUseCompression(false);
    connectionFactory.setDispatchAsync(false);
    connectionFactory.setUseAsyncSend(false);
    connectionFactory.setOptimizeAcknowledge(false);
    connectionFactory.setWatchTopicAdvisories(true);
    ActiveMQPrefetchPolicy qPrefetchPolicy = new ActiveMQPrefetchPolicy();
    qPrefetchPolicy.setQueuePrefetch(100);
    qPrefetchPolicy.setTopicPrefetch(1000);
    connectionFactory.setPrefetchPolicy(qPrefetchPolicy);
    connectionFactory.setAlwaysSyncSend(true);
    return connectionFactory;
}

3. TwoBrokerQueueClientsReconnectTest#setUp()

Project: activemq-artemis
File: TwoBrokerQueueClientsReconnectTest.java
@Override
public void setUp() throws Exception {
    super.setAutoFail(true);
    super.setUp();
    createBroker(new URI("broker:(tcp://localhost:61616)/BrokerA?persistent=false&useJmx=true"));
    createBroker(new URI("broker:(tcp://localhost:61617)/BrokerB?persistent=false&useJmx=true"));
    // Configure broker connection factory
    ActiveMQConnectionFactory factoryA;
    ActiveMQConnectionFactory factoryB;
    factoryA = (ActiveMQConnectionFactory) getConnectionFactory("BrokerA");
    factoryB = (ActiveMQConnectionFactory) getConnectionFactory("BrokerB");
    // Set prefetch policy
    ActiveMQPrefetchPolicy policy = new ActiveMQPrefetchPolicy();
    policy.setAll(PREFETCH_COUNT);
    factoryA.setPrefetchPolicy(policy);
    factoryB.setPrefetchPolicy(policy);
    msgsClient1 = 0;
    msgsClient2 = 0;
}

4. TopicDurableConnectStatsTest#createConnectionFactory()

Project: activemq-artemis
File: TopicDurableConnectStatsTest.java
@Override
protected ActiveMQConnectionFactory createConnectionFactory() throws Exception {
    connectionFactory = new ActiveMQConnectionFactory("vm://" + getName(true));
    ActiveMQPrefetchPolicy prefetchPolicy = new ActiveMQPrefetchPolicy();
    prefetchPolicy.setAll(10);
    connectionFactory.setPrefetchPolicy(prefetchPolicy);
    connectionFactory.setWatchTopicAdvisories(false);
    return connectionFactory;
}

5. JmsTransactionTestSupport#setPrefetchToOne()

Project: activemq-artemis
File: JmsTransactionTestSupport.java
/**
    * Sets the prefeftch policy to one.
    */
protected void setPrefetchToOne() {
    ActiveMQPrefetchPolicy prefetchPolicy = getPrefetchPolicy();
    prefetchPolicy.setQueuePrefetch(1);
    prefetchPolicy.setTopicPrefetch(1);
    prefetchPolicy.setDurableTopicPrefetch(1);
    prefetchPolicy.setOptimizeDurableTopicPrefetch(1);
}

6. TopicProducerFlowControlTest#testTopicProducerFlowControl()

Project: activemq-artemis
File: TopicProducerFlowControlTest.java
public void testTopicProducerFlowControl() throws Exception {
    // Create the connection factory
    ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(brokerUrl);
    connectionFactory.setAlwaysSyncSend(true);
    connectionFactory.setProducerWindowSize(1024);
    ActiveMQPrefetchPolicy prefetchPolicy = new ActiveMQPrefetchPolicy();
    prefetchPolicy.setAll(5000);
    connectionFactory.setPrefetchPolicy(prefetchPolicy);
    // Start the test destination listener
    Connection c = connectionFactory.createConnection();
    c.start();
    Session listenerSession = c.createSession(false, 1);
    Destination destination = createDestination(listenerSession);
    listenerSession.createConsumer(destination).setMessageListener(new TopicProducerFlowControlTest());
    final AtomicInteger blockedCounter = new AtomicInteger(0);
    listenerSession.createConsumer(new ActiveMQTopic(AdvisorySupport.FULL_TOPIC_PREFIX + ">")).setMessageListener(new MessageListener() {

        @Override
        public void onMessage(Message message) {
            LOG.info("Got full advisory, blockedCounter: " + blockedCounter.get());
            blockedCounter.incrementAndGet();
        }
    });
    // Start producing the test messages
    final Session session = connectionFactory.createConnection().createSession(false, Session.AUTO_ACKNOWLEDGE);
    final MessageProducer producer = session.createProducer(destination);
    Thread producingThread = new Thread("Producing Thread") {

        @Override
        public void run() {
            try {
                for (long i = 0; i < numMessagesToSend; i++) {
                    producer.send(session.createTextMessage("test"));
                    long count = produced.incrementAndGet();
                    if (count % 10000 == 0) {
                        LOG.info("Produced " + count + " messages");
                    }
                }
            } catch (Throwable ex) {
                ex.printStackTrace();
            } finally {
                try {
                    producer.close();
                    session.close();
                } catch (Exception e) {
                }
            }
        }
    };
    producingThread.start();
    Wait.waitFor(new Wait.Condition() {

        @Override
        public boolean isSatisified() throws Exception {
            return consumed.get() == numMessagesToSend;
        }
    }, // give it plenty of time before failing
    5 * 60 * 1000);
    assertEquals("Didn't produce all messages", numMessagesToSend, produced.get());
    assertEquals("Didn't consume all messages", numMessagesToSend, consumed.get());
    assertTrue("Producer got blocked", Wait.waitFor(new Wait.Condition() {

        @Override
        public boolean isSatisified() throws Exception {
            return blockedCounter.get() > 0;
        }
    }, 5 * 1000));
}

7. ConcurrentProducerQueueConsumerTest#createConnectionFactory()

Project: activemq-artemis
File: ConcurrentProducerQueueConsumerTest.java
@Override
protected ActiveMQConnectionFactory createConnectionFactory() throws Exception {
    ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(broker.getTransportConnectors().get(0).getPublishableConnectString());
    ActiveMQPrefetchPolicy prefetchPolicy = new ActiveMQPrefetchPolicy();
    prefetchPolicy.setAll(1);
    factory.setPrefetchPolicy(prefetchPolicy);
    factory.setDispatchAsync(true);
    return factory;
}

8. ConcurrentProducerDurableConsumerTest#createConnectionFactory()

Project: activemq-artemis
File: ConcurrentProducerDurableConsumerTest.java
@Override
protected ActiveMQConnectionFactory createConnectionFactory() throws Exception {
    ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(broker.getTransportConnectors().get(0).getPublishableConnectString());
    ActiveMQPrefetchPolicy prefetchPolicy = new ActiveMQPrefetchPolicy();
    prefetchPolicy.setAll(1);
    factory.setPrefetchPolicy(prefetchPolicy);
    factory.setDispatchAsync(true);
    return factory;
}

9. SlowConsumerTopicTest#createConnectionFactory()

Project: activemq-artemis
File: SlowConsumerTopicTest.java
@Override
protected ActiveMQConnectionFactory createConnectionFactory(String uri) throws Exception {
    ActiveMQConnectionFactory result = super.createConnectionFactory(uri);
    ActiveMQPrefetchPolicy policy = new ActiveMQPrefetchPolicy();
    policy.setTopicPrefetch(10);
    result.setPrefetchPolicy(policy);
    return result;
}

10. SimpleNetworkTest#setUp()

Project: activemq-artemis
File: SimpleNetworkTest.java
@Override
protected void setUp() throws Exception {
    if (consumerBroker == null) {
        consumerBroker = createConsumerBroker(consumerBindAddress);
    }
    if (producerBroker == null) {
        producerBroker = createProducerBroker(producerBindAddress);
    }
    consumerFactory = createConnectionFactory(consumerBindAddress);
    consumerFactory.setDispatchAsync(true);
    ActiveMQPrefetchPolicy policy = new ActiveMQPrefetchPolicy();
    policy.setQueuePrefetch(100);
    consumerFactory.setPrefetchPolicy(policy);
    producerFactory = createConnectionFactory(producerBindAddress);
    Connection con = consumerFactory.createConnection();
    Session session = con.createSession(false, Session.AUTO_ACKNOWLEDGE);
    producers = new PerfProducer[numberofProducers * numberOfDestinations];
    consumers = new PerfConsumer[numberOfConsumers * numberOfDestinations];
    for (int k = 0; k < numberOfDestinations; k++) {
        Destination destination = createDestination(session, destinationName + ":" + k);
        LOG.info("Testing against destination: " + destination);
        for (int i = 0; i < numberOfConsumers; i++) {
            consumers[i] = createConsumer(consumerFactory, destination, i);
            consumers[i].start();
        }
        for (int i = 0; i < numberofProducers; i++) {
            array = new byte[playloadSize];
            for (int j = i; j < array.length; j++) {
                array[j] = (byte) j;
            }
            producers[i] = createProducer(producerFactory, destination, i, array);
            producers[i].start();
        }
    }
    con.close();
}

11. AbortSlowConsumer0Test#testAbortConsumerOnDeadConnection()

Project: activemq-artemis
File: AbortSlowConsumer0Test.java
@Test
public void testAbortConsumerOnDeadConnection() throws Exception {
    TransportConnector transportConnector = broker.addConnector("tcp://0.0.0.0:0");
    transportConnector.setBrokerService(broker);
    transportConnector.setTaskRunnerFactory(broker.getTaskRunnerFactory());
    transportConnector.start();
    SocketProxy socketProxy = new SocketProxy(transportConnector.getPublishableConnectURI());
    ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(socketProxy.getUrl());
    ActiveMQPrefetchPolicy prefetchPolicy = new ActiveMQPrefetchPolicy();
    prefetchPolicy.setAll(4);
    connectionFactory.setPrefetchPolicy(prefetchPolicy);
    Connection c = connectionFactory.createConnection();
    connections.add(c);
    c.start();
    Session session = c.createSession(false, Session.CLIENT_ACKNOWLEDGE);
    final ActiveMQMessageConsumer messageconsumer = (ActiveMQMessageConsumer) session.createConsumer(destination);
    startProducers(destination, 10);
    messageconsumer.receive(4000).acknowledge();
    assertNotNull(messageconsumer.receive(4000));
    assertNotNull(messageconsumer.receive(4000));
    assertNotNull(messageconsumer.receive(4000));
    // close control command won't get through
    socketProxy.pause();
    ActiveMQDestination amqDest = (ActiveMQDestination) destination;
    ObjectName destinationViewMBean = new ObjectName("org.apache.activemq:destinationType=" + (amqDest.isTopic() ? "Topic" : "Queue") + ",destinationName=" + amqDest.getPhysicalName() + ",type=Broker,brokerName=localhost");
    final DestinationViewMBean destView = (DestinationViewMBean) broker.getManagementContext().newProxyInstance(destinationViewMBean, DestinationViewMBean.class, true);
    assertTrue("Consumer gone from broker view", Wait.waitFor(new Wait.Condition() {

        @Override
        public boolean isSatisified() throws Exception {
            LOG.info("DestView {} comsumerCount {}", destView, destView.getConsumerCount());
            return 0 == destView.getConsumerCount();
        }
    }));
    socketProxy.goOn();
    assertTrue("consumer was closed", Wait.waitFor(new Wait.Condition() {

        @Override
        public boolean isSatisified() throws Exception {
            boolean closed = false;
            try {
                messageconsumer.receive(400);
            } catch (javax.jms.IllegalStateException expected) {
                closed = expected.toString().contains("closed");
            }
            return closed;
        }
    }));
}