@Test public void testLoad() { final PersistentQueue<Message> queue = new PersistentQueue<Message>("jk.store"); queue.init(); final Thread producer = new Thread() { @Override public void run() { for (int i = 0; i < 100000; i++) { queue.produce(new Message(i)); } } }; producer.setDaemon(false); producer.start(); final Thread consumer = new Thread() { @Override public void run() { for (int i = 0; i < 100000; i++) { final Object message = queue.consume(); if (message == null) { i--; continue; } Assert.assertEquals(((Message) message).index(), i, "Comparing the integer value"); } } }; consumer.setDaemon(false); consumer.start(); while (producer.isAlive() || consumer.isAlive()) { try { Thread.sleep(100); } catch (InterruptedException e) { // do nothing } } }