|
4 | 4 | import static com.mongodb.client.model.Filters.gte;
|
5 | 5 | import static java.util.concurrent.TimeUnit.SECONDS;
|
6 | 6 |
|
| 7 | +import com.mongodb.ClientSessionOptions; |
7 | 8 | import com.mongodb.ConnectionString;
|
8 | 9 | import com.mongodb.MongoClientSettings;
|
| 10 | +import com.mongodb.TransactionOptions; |
9 | 11 | import com.mongodb.client.*;
|
10 | 12 | import com.mongodb.client.cursor.TimeoutMode;
|
11 | 13 | import com.mongodb.client.model.InsertOneOptions;
|
| 14 | +import com.mongodb.client.model.bulk.ClientBulkWriteOptions; |
12 | 15 | import com.mongodb.client.result.InsertOneResult;
|
13 | 16 | import org.bson.Document;
|
14 | 17 |
|
@@ -75,6 +78,34 @@ private void overrideTimeout(){
|
75 | 78 | // end-override
|
76 | 79 | }
|
77 | 80 |
|
| 81 | + private void txnTimeout(){ |
| 82 | + MongoClientSettings settings = MongoClientSettings.builder() |
| 83 | + .applyConnectionString(new ConnectionString("<connection string>")) |
| 84 | + .build(); |
| 85 | + |
| 86 | + try (MongoClient mongoClient = MongoClients.create(settings)) { |
| 87 | + MongoCollection<Document> collection = mongoClient |
| 88 | + .getDatabase("db") |
| 89 | + .getCollection("people"); |
| 90 | + |
| 91 | + // start-session-timeout |
| 92 | + ClientSessionOptions opts = ClientSessionOptions.builder() |
| 93 | + .defaultTimeout(5L, SECONDS) |
| 94 | + .build(); |
| 95 | + |
| 96 | + ClientSession session = mongoClient.startSession(opts); |
| 97 | + // ... perform operations on ClientSession |
| 98 | + // end-session-timeout |
| 99 | + |
| 100 | + // start-txn-timeout |
| 101 | + TransactionOptions txnOptions = TransactionOptions.builder() |
| 102 | + .timeout(5L, SECONDS) |
| 103 | + .build(); |
| 104 | + // end-txn-timeout |
| 105 | + } |
| 106 | + |
| 107 | + } |
| 108 | + |
78 | 109 | private void cursorTimeout(){
|
79 | 110 | MongoClientSettings settings = MongoClientSettings.builder()
|
80 | 111 | .applyConnectionString(new ConnectionString("<connection string>"))
|
|
0 commit comments