拆分 Beans 还是只在一个项目中制作所有 beans?

Split Beans or Make all beans in just one project?

我有一个软件网络项目,它使用大量 bean 来处理不同的事情。示例项目 1 使用 Beans 1,项目 2 使用 Beans 2,项目 3 使用 beans 3、bean 2 和 beans 1。所以老队友只在一个项目中使用所有 beans(实体和会话的 Netbeans Beans)

就这样

他们将 EJB 这个大项目添加到 Web 项目中。所有项目都使用 All-EJB,所以我认为性能会非常糟糕。我正在使用带有 JSF 和 primefaces 的 glassfish server 3.1.2 和 Java EE 6,我认为为每个项目拆分 EJB 将提高性能,并且只为每个需要的项目使用特定的 EJB。还是我错了?

项目 1-5 总是 运行 吗?

如果是,那么您不太可能通过将 EJB 模块拆分为多个模块来获得更好的性能,并且实际上启动性能可能会稍差一些,因为 EJB 容器中每个模块的开销必然存在一些(可能可以忽略不计) .

如果不是(并且项目 1-5 的某些子集可能是 运行),那么如果您可以避免加载不需要的 EJB 模块,因为 EJB 容器需要处理的元数据较少。

我想不出在运行时(EJB 模块启动后)会出现性能差异的原因,但与所有性能考虑因素一样,唯一可以确定的方法是测量。

当然,拆分 EJB 模块可能还有其他可维护性好处。我认为这些是拆分 EJB 模块的比性能更好的理由。