Я хочу создать утилиту Bean для совместного разбора URL в моих ZK Composers. Тем не менее, я хочу убедиться, что безопасно использовать такие вещи, как Executions.getCurrent()
в Spring Bean. Я уверен, что это Executions.getCurrent()
статично для начала.ZK & Spring - безопасно использовать Executions.getCurrent() в Spring Bean?
Вот что я имею в виду делать ..
@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
}
}
..used как так ..
@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?
Он должен работать, по крайней мере, она поддерживается ZK официально (см официального документа http://books.zkoss.org/wiki/ZK_Spring_Essentials/Working_with_ZK_Spring/Working_with_ZK_Spring_Core/Using_Custom_ZK_Scopes_For_Spring_Beans) – benbai123