2

我们正在使用本地线程来为 WS(Web 服务)库提供一种“一级缓存”,以便在给定请求中对同一 URI 的调用只发生一次。目前我正在使用@Before 过滤器来确保在任何给定请求开始之前我们清除本地线程中的任何内容,因为播放似乎保留了它们的池。

有没有比在我们的基本控制器上执行 @With(MyThreadLocalKillingFilter.class) 更好的方法来实现这一点?它有效,但看起来很hackish。

请注意,我们正在使用从 play start/run 开始的服务器内置播放

4

1 回答 1

0

在你的控制器中使用@With 这种方式没有什么不好的。我认为这是相当普遍的。它被认为比扩展基本控制器更好。

不过,您可能需要小心使用 ThreadLocals,特别是在使用暂停请求执行线程的 Promise 时。

于 2012-04-22T05:11:23.777 回答