In de officiële documentatie
er staat dat MongoServer
, MongoDatabase
, en MongoCollection
thread-safe zijn en dat u één enkele MongoServer
. moet maken voor elke database waarmee u verbinding maakt.
Dus MongoServer
, MongoDatabase
, en MongoCollection
kan veilig worden geconfigureerd als singletons. MongoServer
zal zelfs helpen dit af te dwingen door dezelfde MongoDatabase
. terug te sturen instantie voor opeenvolgende aanroepen, en MongoDatabase
zal hetzelfde doen voor MongoCollection
v.
D.w.z. uw MongoServer
instantie kan veilig worden geconfigureerd om een singleton-levensstijl in uw IoC-container te hebben, en u kunt net zo goed injectie instellen voor MongoDatabase
en misschien zelfs MongoCollection
ook.
Ik gebruik deze strategie zelf met Windsor - je kunt mijn MongoInstaller
zien hier:https://gist.github.com/2427676
- hierdoor kunnen mijn lessen gewoon doorgaan en dit doen:
public class SomeClass
{
public SomeClass(MongoCollection<Person> people)
{ ... }
}
om een collectie te laten injecteren, mooi en klaar voor gebruik.