让我们说如果我有一个应用程序,我一直保留所有的XPage,大多数不一定相互关联。如果我在faces-config文件中为其中一些XPage定义了几个bean,那么在不使用任何这些托管bean的其他XPage中对内存和性能的影响是什么?对于此应用程序中的所有XPage,它们是否已实例化并保留在内存中(即使为空)?
如果是这样,那么最好的做法是保留相关的XPage,它们将在自己的NSF中使用托管bean(并且可能共享它们),而不是为站点的所有XPage设置单个商店?
霍华德
答案 0 :(得分:5)
只有在EL / SSJS中引用时才构造托管bean。它的范围在被丢弃时定义。
因此,从性能角度来看,在faces-config中定义了多少个bean并不重要。
但是,您必须考虑的是方法的表现。特别是setter / getters,每次请求通常被调用更多次。还要避免请求范围bean的构造函数中的任何过多代码。也适用于内存需求 - 尽量不要在bean中保留大量数据(数组,映射......)。
我建议将XPages拆分为更多数据库。原因与bean性能不同 - 应用程序逻辑。最好将相关功能保持在一起(进入单个NSF)并与其他功能分开(不要将它们全部混合在一起)。
答案 1 :(得分:0)
这实际上取决于你用来保存它们的范围,你用它们等等等。