clients[i].start();
}
for (int i = 0; i < clients.length; i++) {
clients[i].join();
MessageFlow mf = new MessageFlow(clients[i].outRecorder.getOutboundMessages(),
clients[i].inRecorder.getInboundMessages());
mf.verifyMessages(4, true);
String[] expectedActions = new String[] {RMConstants.getCreateSequenceAction(),
GREETME_ACTION,
GREETME_ACTION,
GREETME_ACTION};
mf.verifyActions(expectedActions, true);
mf.verifyMessageNumbers(new String[] {null, "1", "2", "3"}, true);
mf.verifyLastMessage(new boolean[] {false, false, false, false}, true);
mf.verifyAcknowledgements(new boolean[] {false, false, true, true}, true);
// createSequenceResponse plus 3 greetMeResponse messages plus
// one partial response for each of the four messages
// the first partial response should no include an acknowledgement, the other three should
mf.verifyMessages(8, false);
mf.verifyPartialResponses(4, new boolean[4]);
mf.purgePartialResponses();
expectedActions = new String[] {RMConstants.getCreateSequenceResponseAction(),
GREETME_RESPONSE_ACTION,
GREETME_RESPONSE_ACTION,
GREETME_RESPONSE_ACTION};
mf.verifyActions(expectedActions, false);
mf.verifyMessageNumbers(new String[] {null, "1", "2", "3"}, false);
mf.verifyLastMessage(new boolean[4], false);
mf.verifyAcknowledgements(new boolean[] {false, true, true, true}, false);
}
} finally {
for (int i = 0; i < clients.length; i++) {
greeter = clients[i].greeter;