2011-08-09 21 views
1

定义时 -JSF-1.2-Question。策略保存当前应用程序状态(托管bean状态)重定向到外部服务

  • 有工作web应用程序与在某个时刻管理bean的状态。
  • 这个web应用程序的职位要求外部应用
  • 外部应用程序调用回(HTTP“得到”法)web应用程序

    - 这时应用程序应该恢复管理bean的状态就像在申请外部申请之前一样。

    - 注意:外部应用程序可能会稍后响应,而不是Web应用程序会话持续时间最后。

问题 - 如果周围有这样的问题,在JSF模式或技术?

你是怎么处理这样的问题的?

回答

0

将状态与唯一键一起存储在会话作用域中,并将该键作为请求参数或pathinfo包含在回调URL中。收到回调请求时,从请求参数或pathinfo中提取密钥,然后根据该密钥从会话中获取状态。

+0

好的,我用这种方法看到的一个缺点是,外部应用程序可能会在Web应用程序会话过期后发送回调(用户延迟对外部应用程序执行操作)。那是什么? –

+0

将其存储在应用程序范围内。确保密钥**强**。 'java.util.UUID'在这方面非常有用。 – BalusC

+0

这会有所帮助,但是从外部应用程序回调可能永远不会回到web应用程序......并且我认为应用程序范围会影响网络应用程序的内存,因为它会一直保存在内存中,直到重新启动Web应用程序。 Web-app是大量使用的应用程序,这种内存中毒可能会对我的性能产生相当大的影响。你会考虑自毁应用程序对象(在一段时间后,当没有收到来自外部应用程序的响应)。 –