Мы все знаем, что в веб-уровне существует возможность существования только одного экземпляра данного сервлета, который обслуживает несколько запросов. Это может привести к проблемам с потоками в переменных экземпляра.Безопасно ли вводить EJB в сервлет как переменную экземпляра?
Мой вопрос: безопасно ли вводить EJB с помощью аннотации @EJB в сервлет как переменную экземпляра?
Мой первоначальный инстинкт не был бы, если предположить, что тот же экземпляр EJB будет обслуживать несколько запросов одновременно. Казалось бы, это было бы также инстинктом ряда других программистов: Don't inject to servlets
Однако я подпрыгнул с неверного вывода. Очевидно, что что вводится в сервлет, является прокси, под капотом действительно ли контейнер обслуживает каждый запрос другим экземпляром и поддерживает безопасность потоков? Как этот форум предложил бы: Do inject to servlets
Кажется, что существует много противоречивых мнений. ЧТО ПРАВИЛЬНО???
Этот ответ верный, насколько это возможно, но он не касается проблем безопасности потоков OP. Я считаю, что нижеприведенный ответ нижеследующего должен быть правильным. –
Я предполагаю, что EJB, инъецированный с помощью @Inject (CDI, JEE 6), будет таким же безопасным, не так ли? – marcus