我目前正在研究一些在没有考虑应用服务器的情况下开发的旧 Java 代码。它基本上是一堆带有输入接口和输出接口的“黑盒代码”。“黑匣子”类中的所有内容都是包含状态的静态数据结构,这些状态以定时间隔(每 10 秒)通过算法。黑盒是从一个 main 方法启动的。
为了让我自己轻松,我正在考虑将“黑匣子”设为单例。基本上,任何想要访问黑匣子内部逻辑的人都会得到相同的实例。这将允许我使用消息驱动 bean 作为黑盒的输入,并使用某种 JMS Publisher 作为黑盒的输出。
这是多么糟糕的想法?有小费吗?
不过,我主要担心的问题之一是“黑盒”代码中可能存在我不知道的线程。
EJB 中是否存在诸如“应用程序范围的对象”之类的东西?
注意:我使用的是 Glassfish