1

ZKComposersで一般的なURL解析用のユーティリティBeanを作成したいと思います。Executions.getCurrent()ただし、 SpringマネージドBeanのようなものを安全に使用できるようにしたいと思います。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();
    // ...
  }

}

それで、このように物事を行うと、すべてが正常に機能する必要がありますか、それともユーザーセッションの衝突などの問題を予測する必要がありますか?

春の豆は静的なシングルトンではありませんよね?代わりに、それらは実際にオブジェクトを更新する計算時間を節約するために自動配線されたインスタンスクラスですよね?その場合、このようなユーザー間の衝突は絶対にありません。

とにかく、私が言ったように、Executions.getCurrent()静的です。うーん、それはウェブアプリにアクセスする複数のユーザーとどのように機能しますか?

4

1 に答える 1

0

はい、安全です。

ここにリンクする公式ソースはあまりありませんが、価値があるのは、私の以前のチームが、実稼働環境で 3000 人以上のユーザーにサービスを提供しているアプリの (ユーザー コンテキストを取得するために) ほぼすべてのページでこれを使用しており、問題が記録されていないことです。 2年。

于 2013-02-26T15:25:12.540 に答える