Мне интересно узнать объем экземпляра класса, который помечен аннотацией javax.ejb.Singleton
.Какова область действия класса, оформленного аннотацией JavaEE Singleton?
Я работаю над веб-приложением, которое состоит из 6 отдельных приложений REST. Эти 6 приложений скомпилированы для войн и все они развернуты внутри одного и того же веб-сервера TomEE.
Я был вынужден использовать аннотацию Singleton, потому что мне нужен способ обмена данными между фильтром сервлета и кодом службы, а объем обычных компонентов, по-видимому, не был разделен между фильтром и приложением. Для этой цели синглтон, похоже, работает нормально (хотя мне не нравится идея использования Singleton, и я ищу альтернативный подход).
В любом случае, теперь, когда я использую Singleton, у меня есть сомнения в его объеме.
Является ли область экземпляра Singleton ограниченным внутри каждого webapp (один из развернутых webapps не сможет увидеть тот же Singleton, что и другой webapp в пределах одного и того же TomEE), или же веб-сервер каким-то образом разделяет Singleton среди всех развернутые webapps?
Не являются ли глобальные возможности Singletons в веб-приложении? Это одна из причин, почему они плохая идея. Нет совместного доступа через веб-приложения. – duffymo