public class MongoLockProvider extends Object implements LockProvider
It uses a collection that contains documents like this:
{
"_id" : "lock name",
"lockUntil" : ISODate("2017-01-07T16:52:04.071Z"),
"lockedAt" : ISODate("2017-01-07T16:52:03.932Z"),
"lockedBy" : "host name"
}
lockedAt and lockedBy are just for troubleshooting and are not read by the code
| Constructor and Description |
|---|
MongoLockProvider(com.mongodb.MongoClient mongo,
String databaseName)
Uses Mongo to coordinate locks
|
MongoLockProvider(com.mongodb.MongoClient mongo,
String databaseName,
String collectionName)
Uses Mongo to coordinate locks
|
MongoLockProvider(com.mongodb.client.MongoCollection<org.bson.Document> collection)
Uses Mongo to coordinate locks
|
| Modifier and Type | Method and Description |
|---|---|
Optional<SimpleLock> |
lock(LockConfiguration lockConfiguration) |
public MongoLockProvider(com.mongodb.MongoClient mongo,
String databaseName)
mongo - Mongo to be useddatabaseName - database to be usedpublic MongoLockProvider(com.mongodb.MongoClient mongo,
String databaseName,
String collectionName)
mongo - Mongo to be useddatabaseName - database to be usedcollectionName - collection to store the lockspublic MongoLockProvider(com.mongodb.client.MongoCollection<org.bson.Document> collection)
collection - Mongo collection to be usedpublic Optional<SimpleLock> lock(LockConfiguration lockConfiguration)
lock in interface LockProviderCopyright © 2019. All rights reserved.