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:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user