理解できない Bean ライフサイクルについて問題があります。戦争に @SessionScoped Bean があります。
@Named
@SessionScoped
public class UserBean implements Serializable {
@Inject
UserServicesLocal userServices;
[...]
}
次に、ejb 部分の @Staseful セッション Bean:
@Stateful
@LocalBean
@SessionScoped
@ExcludeDefaultInterceptors
public class UserServices implements UserServicesLocal, Serializable {
[...]
}
それらはうまく機能しますが、未チェックの例外が ejb 部分で生成されると、SFSB は「停止」します。予想される動作であることは理解していますが、この状況を管理する方法がわかりません。例: ユーザーが xls ファイルをアップロードできるページに移動し、ファイルをアップロードすると、奇妙な理由でファイルの処理が失敗します。「WeirdReasonException」がキャッチされず、SFSB が消え、後続のすべての呼び出しで「javax.ejb.NoSuchObjectLocalException: The EJB does not exist」が生成されます。例外をキャッチしないままにすることは避けなければならないことはわかっていますが、何か奇妙なことが起こった場合、ユーザーは自分の作業を続行できるはずだと思います。SFSB の再作成を「強制」する方法はありますか?
ありがとうございました