我想创建一个实用程序Bean,用于在我的ZK编写器中进行常见的URL解析。但是,我想确保在Spring托管Bean中使用Executions.getCurrent()
之类的东西是安全的。我很确定它始于Executions.getCurrent()
是静态的。
这是我正在考虑的事情......
@Component
public MyUrlBean {
// TODO I will, of course, program to an interface here =)
private static final String MY_OBJECT_URL_PARAMETER = "my_obj";
public MyObject getMyObjectFromURL() {
Execution ex = Executions.getCurrent();
String value = ex.getParameter(MY_OBJECT_URL_PARAMETER)
// ... db fetch and the like
}
}
..像这样使用..
@VariableResolver(DelegatingVariableResolver.class)
public MyComposer extends SelectorComposer<Window> {
@WireVariable
public MyUrlBean myUrlBean;
@Override
public void doAfterCompose(Window component) {
MyObject myObject = myUrlBean.getMyObjectFromURL();
// ...
}
}
所以,以这种方式做事,一切正常,还是我应该预测用户会话冲突等问题?
春豆是 NOT 静态单身,对吗?相反,它们是自动装配的实例类,以节省实际新建对象的计算时间,是否正确?如果是这种情况,那么用户之间肯定不会发生冲突。
无论如何,正如我所提到的,Executions.getCurrent()
是静态的。嗯,这对多个用户访问webapp有什么作用?
答案 0 :(得分:0)
是的,这是安全的。
我没有太多的官方消息来链接到这里,但是为了它的价值,我以前的团队几乎在每个页面中使用它(以获取用户上下文)的应用程序服务超过3000个用户在生产中没有记录了两年的问题。