0

ejb の学習を始めたばかりで、問題が発生しています。私のejbコードは

@Stateful
@StatefulTimeout(value=80, unit=TimeUnit.SECONDS)
public class HelloWorldBean 
    {
        int i = 0;
        public int SayHello()
        {
            return i++;
        }
    }

テスト専用です。わかりましたので、80秒後にWildFlyから問題が発生しました

javax.ejb.NoSuchEJBException: WFLYEJB0168: Could not find EJB with id UnknownSessionID [5156495653657051576570495270526865695251507057526654654868486852]

1) 80 秒後に ejb を削除し、ページを更新した後に新しいインスタンスを取得する必要があると考えました。または、80 秒後にインスタンスが非活性化されます (ハード ドライブに保存されます) ?

2) UnknownSessionID のこの問題は何ですか? WildFly が ID を session に割り当てたくないのはなぜですか?

3) このコード例では、2 つの異なるブラウザーを同時に使用すると、同じインスタンスが表示されるのはなぜですか? ステートフル Bean は one_bean-to-one_user として機能すると思いましたか? したがって、たとえば Google Chrome と Firefox では、i=0 から開始する必要があり、ブラウザ セッション間で同様のデータを取得するべきではありません。

私はあなたの助けに感謝します!

4

1 に答える 1