Mongo
JVM ごとに 1 つのインスタンスが必要であると言われています。Mongo
JEE6アプリでセットアップしようとしていますが、これまでのところ、このようにしています。
@Startup
@Singleton // EJB not CDI singleton
public class MongoDatabase {
private Mongo mongo;
@PostConstruct
public void init() throws Exception {
mongo = new Mongo();
}
@PreDestroy
public void shutdown() {
mongo.close();
}
@Produces
public DBCollection getProjectsCollection() {
return mongo.getDB("testdatabase").getCollection("mycollection");
}
}
これは@Inject
問題ありません。必要なすべての CDI サービスにアクセスでき、アプリの起動時に開始されますが、JVM ごとに 1 つではなく、アプリケーションごとに 1 つです。アプリサーバーに複数のアプリをデプロイしている場合、必要に応じてすべてのアプリを独自にセットアップできますMongo
。
Mongo
展開されたすべてのアプリが同じ接続プール (RDBMS のデータソースに似たもの) にアクセスできるように、JEE6 でサーバーごとに1 つをセットアップする方法は? どうにかしてJNDIに登録できますか?それとも、アプリケーションごとに十分なので必要ないのでしょうか?