是否可以在Spark框架上使用ThreadLocal创建请求上下文

时间:2017-08-18 22:32:38

标签: spark-java

使用Spark Web框架 - 我想避免将所有参数传递到每个方法签名(请求用户等)。是否适合使用具有静态ThreadLocal属性的上下文?我想我们没有完全控制哪个线程为请求提供服务但是猜测在Spark API /边界上每次调用初始化应该没问题。

1 个答案:

答案 0 :(得分:0)

我摆弄了一下,我想我找到了解决这个问题的好方法。根据文件:

/**
 * Sets an attribute on the request
 * (can be fetched in filters/routes later in the chain)
 *
 * @param attribute The attribute
 * @param value     The attribute value
 */
public void attribute(String attribute, Object value) {
    /* ... */
}

因此,您可以在请求中使用set an属性,然后再获取它。非常整洁。

相关问题