Playframework 1.x静态方法如何以线程安全的方式工作

时间:2013-04-19 17:56:46

标签: playframework playframework-1.x

可能是一个愚蠢的问题,但我是noob学习Play框架1.2.5。 我注意到控制器动作都是静态方法,我假设每个请求都将在一个单独的线程中处理。如果是这种情况,Play框架如何确保这些静态控制器方法是线程安全的?我想,只要我们不在控制器方法之间共享任何东西,那么我们就是好的(?),如果我错了,请纠正我。

提前致谢。

1 个答案:

答案 0 :(得分:2)

是的,我们非常好。如您所知,HTTP是无状态,因此请求之间不会共享任何内容。 Play会在处理请求时使用ThreadLocal s。每个请求都有自己的线程,因此您可以完全控制当前请求 - 响应生命周期。

如果你想在控制器之间共享数据,你有session个对象,但它很小,只接受String个。对于其他数据类型或不同的共享实现,您应该使用Cache实现。有关详细信息,请参阅sessioncache文档。

祝你好运!