Google App Engine (GAE) 上的 ThreadLocal
我想在我的应用程序引擎应用程序中提供一些请求范围的数据。
示例:
- 发出请求的 URL。
- 认证信息。
我发现 ThreadLocal
位于 GAE 的 JRE 白名单。
ThreadLocal
是提供此信息的良好且安全的方法吗?有其他/更好/更容易接受的方法吗?
I would like to make some request-wide data available in my app engine application.
Examples:
- The URL for which the request was made.
- Authentication information.
I see that ThreadLocal
is on GAE's JRE whitelist.
Is ThreadLocal
a good and safe way to make this information available? Are there alternative / better / more accepted ways?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,将这些东西存储在 ThreadLocal 中是一种公认的做法。然而,更好的方法是在需要的地方传递这些值(作为方法参数),而不是直接获取它们。它更可取,因为它至少更易于测试。
Yes, it is an accepted practice to store these things in a
ThreadLocal
. However, a more preferable approach is to pass these values around (as method arguments) wherever they are needed, instead of reaching for them. It's more preferable, because it's more testable at least.