use of org.apache.activemq.artemis.core.server.impl.QueueImpl in project activemq-artemis by apache.
the class QueueImplTest method testDurable.
@Test
public void testDurable() {
QueueImpl queue = getNonDurableQueue();
Assert.assertFalse(queue.isDurable());
queue = getDurableQueue();
Assert.assertTrue(queue.isDurable());
}
use of org.apache.activemq.artemis.core.server.impl.QueueImpl in project activemq-artemis by apache.
the class QueueImplTest method testGetFilter.
@Test
public void testGetFilter() {
QueueImpl queue = getTemporaryQueue();
Assert.assertNull(queue.getFilter());
Filter filter = new Filter() {
@Override
public boolean match(final Message message) {
return false;
}
@Override
public SimpleString getFilterString() {
return null;
}
};
queue = getFilteredQueue(filter);
Assert.assertEquals(filter, queue.getFilter());
}
use of org.apache.activemq.artemis.core.server.impl.QueueImpl in project activemq-artemis by apache.
the class QueueImplTest method testIterator.
@Test
public void testIterator() {
QueueImpl queue = getTemporaryQueue();
final int numMessages = 20;
List<MessageReference> refs = new ArrayList<>();
for (int i = 0; i < numMessages; i++) {
MessageReference ref = generateReference(queue, i);
queue.addTail(ref);
refs.add(ref);
}
Assert.assertEquals(numMessages, getMessageCount(queue));
Iterator<MessageReference> iterator = queue.iterator();
List<MessageReference> list = new ArrayList<>();
while (iterator.hasNext()) {
list.add(iterator.next());
}
assertRefListsIdenticalRefs(refs, list);
}
use of org.apache.activemq.artemis.core.server.impl.QueueImpl in project activemq-artemis by apache.
the class QueueImplTest method testBusyConsumerWithFilterFirstCallBusy.
@Test
public void testBusyConsumerWithFilterFirstCallBusy() throws Exception {
QueueImpl queue = getTemporaryQueue();
FakeConsumer consumer = new FakeConsumer(FilterImpl.createFilter("color = 'green'"));
consumer.setStatusImmediate(HandleStatus.BUSY);
queue.addConsumer(consumer);
final int numMessages = 10;
List<MessageReference> refs = new ArrayList<>();
for (int i = 0; i < numMessages; i++) {
MessageReference ref = generateReference(queue, i);
ref.getMessage().putStringProperty("color", "green");
refs.add(ref);
queue.addTail(ref);
}
Assert.assertEquals(10, getMessageCount(queue));
Assert.assertEquals(0, queue.getScheduledCount());
Assert.assertEquals(0, queue.getDeliveringCount());
queue.deliverNow();
consumer.setStatusImmediate(null);
queue.deliverNow();
List<MessageReference> receeivedRefs = consumer.getReferences();
int currId = 0;
for (MessageReference receeivedRef : receeivedRefs) {
Assert.assertEquals("messages received out of order", receeivedRef.getMessage().getMessageID(), currId++);
}
}
use of org.apache.activemq.artemis.core.server.impl.QueueImpl in project activemq-artemis by apache.
the class QueueImplTest method testConsumerWithFilterAddAndRemove.
@Test
public void testConsumerWithFilterAddAndRemove() {
QueueImpl queue = getTemporaryQueue();
Filter filter = new FakeFilter("fruit", "orange");
FakeConsumer consumer = new FakeConsumer(filter);
}
Aggregations