2

MongoJVM ごとに 1 つのインスタンスが必要であると言われています。MongoJEE6アプリでセットアップしようとしていますが、これまでのところ、このようにしています。

@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に登録できますか?それとも、アプリケーションごとに十分なので必要ないのでしょうか?

4

0 に答える 0