MongoDbInboundChAdapterIntTests race condition

Since we can have a result message in the `replyChannel` before the TX commit, a subsequent adapter `stop()` causes the current task interruption,
 therefore TX rallback.
That's why we see `semaphore.acquire()` interruption and don't see message in the  `afterCommitChannel`

**Cherry-pick to 4.3.x**

(cherry picked from commit bdab0aa)
This commit is contained in:
Artem Bilan
2016-12-29 11:58:20 -05:00
parent f0a48dd89e
commit 8d703992ea

View File

@@ -219,11 +219,10 @@ public class MongoDbInboundChannelAdapterIntegrationTests extends MongoDbAvailab
assertNotNull(replyChannel.receive(10000));
assertNull(replyChannel.receive(100));
this.inboundAdapterWithOnSuccessDisposition.stop();
assertNotNull(this.afterCommitChannel.receive(10000));
assertNull(this.mongoTemplate.findOne(new Query(Criteria.where("name").is("Bob")), Person.class, "data"));
this.inboundAdapterWithOnSuccessDisposition.stop();
this.replyChannel.purge(null);
}