EJB 仕様によると、非 final 静的フィールドは許可されていません。これはシングルトンとして定義された EJB 3.1 ステートレス セッション Bean にも当てはまりますか?
物事を明確にし、なぜそれをやりたいのかという質問を避けるために:
サーバーの起動時にEJBが作業を開始し、DB関連の作業を行う必要がある状況があり、それが完了したときにのみ、システム内の他のすべてのコンポーネントに作業を開始できることを通知します。
この EJB はタイマーでも定義されるため、数分ごとに開始されるため、最初に失敗した場合は、成功するまで、または誰かが問題に気付くまで再試行します。成功すると、フラグが変更され、他のすべてのコンポーネント (タイマー EJB) が起動できるようになります。
したがって、Singleton EJB があり、他のすべてのコンポーネント/EJB が参照できる静的 (グローバル) フラグを保持する必要があります。