break;
Thread.sleep(100);
}
// When in non-transacted mode, the ack is sent _after_ message processing so we need to wait a bit
LocalQueue localQueue = engine.getLocalQueue(params.destinationName);
if (!params.receiverTransacted)
{
while (localQueue.getSize() > 0)
Thread.sleep(10);
}
long endTime = System.currentTimeMillis();
double rate = (double)totalExpected*1000/(endTime-startTime);
System.out.println((endTime-startTime)+" ms ("+rateFormat.format(rate)+" msg/s)");
int totalReceived = 0;
for (int n = 0 ; n < receivers.length ; n++)
totalReceived += receivers[n].getReceivedCount();
// Close receivers
for (int n = 0 ; n < receivers.length ; n++)
receivers[n].close();
for (int n = 0 ; n < receivers.length ; n++)
receivers[n].join(5*1000);
// Close connection
for (int n = 0 ; n < receiverConnections.length ; n++)
receiverConnections[n].close();
for (int n = 0 ; n < sendersConnections.length ; n++)
sendersConnections[n].close();
// Check for errors
for (int n = 0 ; n < receivers.length ; n++)
assertFalse(receivers[n].isInError());
for (int n = 0 ; n < senders.length ; n++)
assertFalse(senders[n].isInError());
// Check received message count
if (totalExpected != totalReceived)
{
System.out.println("Expected : "+totalExpected);
System.out.println("Received : "+totalReceived);
fail("Some messages were not received !");
}
// Check for remaining messages
assertEquals(0,localQueue.getSize());
}
catch (Exception e)
{
if (receiverConnections != null)
{