根据 EJB 规范,不允许使用非最终静态字段。定义为单例的 EJB 3.1 无状态会话 bean 是否仍然如此?
只是为了让事情更清楚,并防止诸如您为什么要这样做的问题:
我有一种情况,我需要一个 EJB 来开始服务器启动工作,做一些与数据库相关的工作,只有当它完成时,它才会向系统中的所有其他组件发出信号,表明它们可以开始工作。
此 EJB 也将使用计时器定义,因此它将每隔几分钟启动一次,因此,如果它第一次失败,它将重试直到成功,或者直到有人注意到有问题。一旦成功,标志将被更改,并且所有其他组件(计时器 EJB)都可以启动。
所以我有一个单例 EJB,我需要它来保存所有其他组件/EJB 可以引用的静态(全局)标志。