我想将(附加)信息从过滤器传递给资源。 我目前尝试这样做的方式是,在过滤器:
中getContext().getAttributes().put("additionalInformation", "info..");
并在资源:
中检索它getContext().getAttributes().get("additionalInformation");
问题:
request.getAttributes().put(...)
的{{1}} 代替怎么样?有什么利弊?上下文文档:
getContext().getAttributes().put(...)
这是否意味着上下文不线程安全?
答案 0 :(得分:3)
是的,请求对象是Restlet提供的解决方案,用于使用其属性在请求处理中涉及的所有元素之间交换数据。这可以看作是请求的上下文(并且是为此做出的),并且这种方法确实是线程安全的。
上下文是应用程序中所有元素共享的内容。请求处理(过滤器,服务器资源,...)中涉及的所有元素中的上下文通常是应用程序之一。它不是线程安全的,不应该用于在请求中的元素之间共享数据。
希望它可以帮到你, 亨利