【问题标题】:Is Flash scope free of race conditions?Flash 范围是否没有竞争条件?
【发布时间】:2011-09-16 15:10:12
【问题描述】:

我发现 JSF 2.0 Flash 范围是通过 cookie 在 Mojarra 2.x 中实现的。似乎发生的情况是,当使用 Flash 从视图 A 导航到视图 B 时,JSF 会发送重定向响应。正是这个包含 set-cookie 标头的响应。

由于 cookie 对浏览器来说是全局的,我想知道这会导致竞争条件的可能性有多大。由于 cookie 在重定向响应期间设置,我试图找出 HTTP 规范是否以某种方式保证浏览器发出的响应请求始终是第一个使用此 cookie。

但是,一般来说,如果第一个请求以某种方式停止(因为 Internet 决定将该特定请求路由到世界的另一端),然后来自另一个选项卡的第二个请求到达服务器,则可能仍然存在问题首先。

将 cookie 用于两个页面之间的 flash 范围不是一个糟糕的主意,还是我忽略了某些东西并且它是完全安全的?

【问题讨论】:

标签: java cookies redirect jsf-2 flash-scope


【解决方案1】:

如果有资源,例如文件或 cookie……当然,总会有机会出现竞争条件。但是你应该调查一下,如何避免它。

我认为完美保存的答案是 EJB 3.0 我们使用 EJB 3.0 因为是事务安全的。 与我们将请求传递给 EJB 以在数据库中插入数据的方式相同,您可以使用 EJB 作为协商器与闪存范围进行交互。这样一来,您的交易将得到保障,这意味着您将无竞争条件风险。

【讨论】:

  • 嗯...这将阻止两个请求做同样的事情。但我认为在这种情况下,这是关于发送 cookie 的错误请求,即错误的窗口或选项卡。 EJB3 再好,也无济于事。
猜你喜欢
  • 2010-10-01
  • 1970-01-01
  • 2011-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-30
  • 2018-11-25
  • 2020-09-13
相关资源
最近更新 更多