1

我们目前正在重新构建我们的 JavaEE 应用程序之一,以利用 Morphia 在 MongoDB 中对数据进行建模。我们使用 JavaEE 6 和 Seam 2.x 为我们的应用程序提供基础。我的问题是,我们应该为 MorphiaDatastoreDAO对象使用什么范围?Application在整个应用程序中使用范围和使用单个实例是否安全?还是应该使用更具体的范围,例如Request使用?是否有任何并发​​性或其他问题会阻止我们使用Application范围?

4

1 回答 1

1

DatastoreImpl 中的状态很少。有写关注点、映射器和一些解码器的东西。如果这些设置对于您的应用程序是通用的(通常是这种情况),那么这个实例可以在应用程序范围内共享就好了。如果您使用 BasicDAO,那么它的唯一状态就是它所操作的实体类和我们已经介绍过的 Datastore。这通常也可以安全地分享。

一般来说,这些组件中的大多数都具有很少会破坏并发访问的可变状态。测试总是一个好主意,但在这种情况下,这是一件非常安全的事情。

于 2013-09-05T18:43:59.503 回答