【发布时间】:2019-10-01 22:10:54
【问题描述】:
使用Spark web framework - 我想避免将所有参数传递给每个方法签名(请求用户等)。是否适合使用具有静态 ThreadLocal 属性的上下文?
我猜我们无法完全控制哪个线程为请求提供服务,但猜测在 Spark API/边界上的每次调用都进行初始化应该没问题。
【问题讨论】:
-
也许您可以在会话中存储 userId 等信息
-
如果我根本不使用会话(无状态服务器),我可以按照建议使用 ThreadLocal 来存储东西吗?我之前在其他框架结构上使用过它,但我想知道 Spark 是否会有任何问题(比如线程共享或其他东西,这实际上对性能有好处)。或者我可以使用 request.session 吗,即使我没有使用会话,唯一的缺点是它会重置每个请求(就像我想要的那样)?还是有其他注意事项?
标签: spark-java