2

比方说,如果我有一个应用程序,我一直在其中保留所有 XPage,但大多数 XPage 不一定彼此相关。如果我在 faces-config 文件中为其中一些 XPage 定义了几个 bean,那么对不使用任何这些托管 bean 的其他 XPage 的内存和性能有什么影响?他们不是为这个应用程序中的所有 XPage 实例化并保存在内存中(即使是空的)吗?

如果是这样,那么最好的做法是将使用托管 bean(并可能共享它们)的相关 XPage 保留在他们自己的 NSF 中,而不是为站点的所有 XPage 单独存储?

霍华德

4

2 回答 2

5

托管 bean 仅在 EL/SSJS 中引用时才被构造。它的范围定义了它何时被丢弃。

因此,从性能的角度来看,faces-config 中定义了多少个 bean 并不重要。

但是,您必须考虑的是方法的性能。尤其是 setter/getter,每个请求通常会调用更多次。还要避免请求范围 bean 的构造函数中的任何过多代码。也适用于内存需求 - 尽量不要在 bean 中保留大量数据(数组、映射......)。

我建议将 XPage 拆分为更多数据库。原因不同于 bean 性能 - 应用程序逻辑。最好将相关功能放在一起(在单个 NSF 中)并与其他功能分开(不要将它们全部混合在同一个地方)。

于 2012-05-08T22:19:25.770 回答
0

这实际上取决于您用于将它们保存在内存中的范围,您将它们用于什么等等等等。

于 2012-05-08T18:46:25.087 回答