如何在portlet环境中处理服务调用(每个操作2个请求)

时间:2013-03-28 10:48:43

标签: jsf-2 portlet postconstruct

在使用portlet(jsr-286)和JSF 2.0时,我正在寻找session-flag的替代方法。

问题是我必须使用@PostConstruct从后端加载数据。原因是因为portlet在运行时加载在动态portlet页面中。因此,当第一次加载portlet时,将为RenderRequest调用RESTORE_VIEW,并调用几个Web服务来加载一些数据。

当触发页面上的操作时,我遇到了portlet-runtime中的两个请求的问题:首先处理ActionRequest,再次调用RESTORE_VIEW,LifeCycle一直持续到INVOKE_APPLICATION结束。 现在,处理RenderRequest,调用RESTORE_VIEW和RENDER_RESPONSE。

My BackingBeans都是@RequestScoped,这意味着在调用动作时会调用@PostContruct两次,这会导致性能问题,因为Web服务也会被调用两次。 现在最简单的想法是在portlet中使用一个session-flag,用于控制何时需要调用后端服务,何时不需要。

这种方法有更好的替代方案吗?其他人如何在Portlet-JSF2-Environment中处理Bean-Initialization?

0 个答案:

没有答案