我想创建一个sinlgetom对象,其范围基本上只有请求。这个将用于收集错误,我们需要在发送响应时发送错误.. 我可以向这件事提供指针吗? 我也使用春天。

我尝试使用spring container singleton对象scope会话或请求,但仍然mu对象从早期请求

中保持值

我正在使用这个错误对象的assignj..is可能导致静态绑定问题

有帮助吗?

解决方案

我不确定单例是你想要的 - 如果两个请求同时到达,他们会分享单例对象,并且他们的错误将混淆。

是可以创建一个对象来保存错误并将其放入Threadlocal对象。对象的范围将受到请求的约束,从应用程序内轻松实现在Threadlocal对象中访问它,而无需将参考传递到周围的对象。

其他提示

如何
//sync this code
if(request.getAttribute("someKey") == null){
     // create object and set it
}
.

如果在每个请求中设置春天容器中的对象生命周期,那么它应该只存在于该HTTPRequest。

一般用于直接注入容器,如弹簧,当您设置对象生命周期或对象范围时,每次请求,那么它应该为其接收的每个HTTP请求创建对象的新实例。

如果它不是这样做,那么我会认为它可能与您的配置有关。

singleton是在创建bean时的闪烁窗口的偏好,我认为您必须专门将对象范围专门设置为每个请求。

bean scopes http://static.springsource.org/spring/docs/2.5.x /引用/ beans.html

您可以使用 threadlocal

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top