package io.trygvis.test.activemq; import io.trygvis.activemq.ActiveMqHinter; import io.trygvis.async.QueueController; import io.trygvis.queue.QueueService; import io.trygvis.test.jdbc.AsyncConsumerExample; import org.apache.activemq.ActiveMQConnectionFactory; import javax.jms.JMSException; public class AsyncConsumerWithActiveMq extends AsyncConsumerExample implements AutoCloseable { private final ActiveMqHinter activeMqHinter; public AsyncConsumerWithActiveMq(ActiveMQConnectionFactory cf) throws JMSException { activeMqHinter = new ActiveMqHinter(cf); } public static void main(String[] args) throws Exception { ActiveMQConnectionFactory cf = new ActiveMQConnectionFactory("failover:tcp://localhost:61616"); int poolSize = 4; QueueService.TaskExecutionRequest req = new QueueService.TaskExecutionRequest(1, true). interval(60 * 6000). continueOnFullChunk(false); try (AsyncConsumerWithActiveMq consumer = new AsyncConsumerWithActiveMq(cf)) { consumer.work(poolSize, req); } } public void close() throws JMSException { activeMqHinter.close(); } protected void wrapInputQueue(QueueController input) throws Exception { activeMqHinter.createHinter(input); } }