В настоящее время я работаю над некоторым старым кодом Java, который был разработан без учета серверов приложений. Это в основном набор «черного ящика» с интерфейсом ввода и интерфейсом вывода. Все в классах «черного ящика» являются статическими структурами данных, которые содержат состояние, которое задается алгоритмами через определенные интервалы времени (каждые 10 секунд). Черный ящик запускается из основного метода.
Чтобы мне было проще, я думаю сделать «черный ящик» синглтоном. По сути, любой, кто хочет получить доступ к логике внутри черного ящика, получит тот же экземпляр. Это позволит мне использовать компоненты, управляемые сообщениями, в качестве входных данных для черного ящика, а также JMS Publisher в качестве выходных данных для черного ящика.
Насколько это плохая идея? Любые советы?
Одна из основных проблем, с которыми я сталкиваюсь, заключается в том, что в коде «черного ящика» могут быть Темы, о которых я не знаю.
Есть ли в EJB такая вещь, как "объекты области приложения"?
Примечание: я использую Glassfish