INT-1346 Fix Test Timing Problem Where Second (expected) Failure Returned Before First (Good) Message.

This commit is contained in:
Gary Russell
2010-08-17 00:49:11 +00:00
parent 75a925bced
commit fe8dca0785

View File

@@ -199,10 +199,11 @@ public class TcpOutboundGatewayTests {
QueueChannel replyChannel = new QueueChannel();
gateway.setRequiresReply(true);
gateway.setOutputChannel(replyChannel);
List<Future<Integer>> results = new ArrayList<Future<Integer>>();
@SuppressWarnings("unchecked")
Future<Integer>[] results = new Future[2];
for (int i = 0; i < 2; i++) {
final int j = i;
results.add(Executors.newSingleThreadExecutor().submit(new Callable<Integer>(){
results[j] = (Executors.newSingleThreadExecutor().submit(new Callable<Integer>(){
public Integer call() throws Exception {
gateway.handleMessage(MessageBuilder.withPayload("Test" + j).build());
return 0;
@@ -212,7 +213,7 @@ public class TcpOutboundGatewayTests {
Set<String> replies = new HashSet<String>();
for (int i = 0; i < 2; i++) {
try {
results.get(i).get();
results[i].get();
} catch (InterruptedException e) {
} catch (ExecutionException e) {