Provide an abstraction over the MongoDB Client / Cluster API as well as the methods to obtain the database factory.
The goal is to have a component that provides access to both database specific API as well as cluster/client related
interface MongoClusterProvider extends MongoSessionProvider {
MongoCluster getMongoCluster();
}
interface MongoDataSource extends MongoDatabaseFactory {
MongoClusterProvider clusterProvider();
}
Transaction and session management could move to a TransactionAwareMongoDataSourceProxy delegating to already existing MongoDatabaseUtils but with a more concise approach.
Provide an abstraction over the MongoDB Client / Cluster API as well as the methods to obtain the database factory.
The goal is to have a component that provides access to both database specific API as well as cluster/client related
Transaction and session management could move to a
TransactionAwareMongoDataSourceProxydelegating to already existingMongoDatabaseUtilsbut with a more concise approach.