MockEndpoint result = getMockEndpoint("mock:result");
// we only expect two messages as they have reached the completed predicate
// that we want 3 messages that has the same header id
result.expectedMessageCount(2);
result.expectedBodiesReceived("Message 1c", "Message 3c");
// then we sent all the message at once
template.sendBodyAndHeader("direct:start", "Message 1a", "id", "1");
template.sendBodyAndHeader("direct:start", "Message 2a", "id", "2");
template.sendBodyAndHeader("direct:start", "Message 3a", "id", "3");