以下に説明するrequestScoped beanが1回のリクエスト中に複数回作成されていることがわかりました。 Beanが再インスタンス化されるたびに、わずかな時間前に、Beanはログごとに破棄されていました。可能性があり、単一の要求のすべての処理の前に破壊されるBeanの理由は、私はこの事は起こらせないの世話をどうやっ&を完了している?何リクエストスコープ付きBeanが1回のリクエスト中に複数回作成/破棄される
@ManagedBean(name="namesDirectory")
@RequestScoped
public class NamesDirectory {
public static NamesDirectory getCurrentInstance(){
FacesContext context = FacesContext.getCurrentInstance();
return context.getApplication().evaluateExpressionGet(context, "#{namesDirectory}", NamesDirectory.class);
}
@PostConstruct
public void foo(){
Easy.log("bean created");
}
@PreDestroy
public void foo1(){
Easy.log("bean destroyed");
}
}
編集:
私は要求が複数回トリガさせた私のFaceletsのコード内のいくつかの場所で<p:graphicImage url="#" />
を持っていました。これらを削除した後、私はまだこのリクエストが作成されているのを見ていますが、それ以前には何度も繰り返していました。
実際に私のアプリケーションにログインしようとしているのを見ています。資格情報は、彼らが検証されている&供給された後ので、Beanが&インスタンス化に使用が、それはそれが作成されるので、そのままユーザーが、Beanが再び必要とされているの建物の間に成功したログインページ&に移動したのはこの後です存在しない。これにより、このリクエストスコープ付きBeanが2回作成されます。これは、私が信じているのは単なるリクエストです。