データベースに情報を保持するためのアプリケーション スコープ Bean があります。インスタンス化後、データを取得する必要があるため、@PostConstruct でメソッドにアノテーションを付けました。この Bean が参照されている jsf ページをリクエストするとすぐに、サーバー ログが急増します。どういうわけか再帰すると思いますが、取得する唯一のスタックトレースは、repBean.acceptVisitor(Visitor); の実行中にシステム例外が発生したことです。方法。その後、サーバー ログは数 GB 大きくなり、空きディスク領域を確保するために手動で削除する必要があります。@PostConstruct アノテーションを削除すると、例外はありません。update() メソッドを別の Bean から呼び出すと、repositoryContent 変数が適切に更新され、情報が含まれます。唯一の問題は、私のjsfページが奇妙な理由でコンテンツを表示しないことです。
@ManagedBean(eager=true)
@ApplicationScoped
public class IndexBean implements Serializable {
private ArrayList<ViewFolder> repositoryContent;
@EJB
RepositoryService repBean;
@PostConstruct
public void update() {
RepositoryVisitor Visitor = new RepositoryVisitor();
repBean.acceptVisitor(Visitor);
repositoryContent = Visitor.getList();
}
}