2013-02-16 3 views
1

Я хочу создать утилиту 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?

+1

Он должен работать, по крайней мере, она поддерживается 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

ответ

0

Да, это безопасно.

У меня не так много официальных источников для ссылки здесь, но для чего это стоит моя предыдущая команда использовала это почти на каждой странице (чтобы получить контекст пользователя) приложения, обслуживающего более 3000 пользователей в производстве без каких-либо проблем в течение двух лет.

+0

достаточно хорошо для меня, спасибо за их прием время ответа –