拆分豆或只在一个项目中制作所有豆类?

时间:2015-09-04 14:33:42

标签: java java-ee ejb project

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

就像这样

  • 全EJB

    + ----项目1的EJB

    + ----项目2的EJB

    + ----项目3的EJB

    + ----项目4的EJB

    + ----项目5的EJB

他们加入了网络项目这个EJB的大项目。所有项目都使用All-EJB,所以我认为性能会非常糟糕。我正在使用带有JSF和primefaces的glassfish服务器3.1.2和Java EE 6,我认为为每个项目拆分EJB将提高性能,并且只为每个项目使用特定的EJB。或者我错了吗?

1 个答案:

答案 0 :(得分:1)

项目1-5是否一直在运行?

如果是,那么通过将EJB模块拆分为多个模块,您不太可能看到更好的性能,并且实际上可能会使启动性能稍差,因为EJB容器中每个模块的开销必然会有一些(可能是微不足道的)。 / p>

如果没有(并且项目1-5的某些子集可能正在运行),那么如果您可以避免从EJB加载不需要的EJB模块,那么您可能会看到(可能忽略不计的)启动性能改进,方法是将EJB模块拆分为多个容器将需要处理的元数据较少。

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

当然,拆分EJB模块可能还有其他可维护性优势。我认为这些比分离EJB模块的性能要好得多。