private boolean receiveMessage(MockMessageProducer messageProducer, long timeout) { boolean received = false; long startTime = new Date().getTime(); long actualTime = new Date().getTime(); while (!received && (actualTime - startTime) <= timeout) { if (messageProducer.messageCount() > 0) { received = true; } else { synchronized (this) { try { this.wait(200); } catch (Exception e) { } } } actualTime = new Date().getTime(); } return received; }