Большое спасибо за немедленный ответ.
Я использую реализацию GlassFish JSP и наиболее стабильную версию из доступных «org.eclipse.jetty: jetty-jsp: jar: 9.2.26.v20180806: compile». https://mvnrepository.com/artifact/org.eclipse.jetty/jetty-jsp. Та же проблема при использовании Oracle JDK. Приложение успешно работает, когда я использую Oracle JDK 1.8 Чтобы работать в JDK 11, мне нужно изменить URI TLD на странице JSP, чтобы хорошо знать имя, а затем скопировать tld под WEB -INF и ссылаться явно в файле web.xml. JSP (без ошибок), web.xml Ранее JSP (с ошибкой) Я не уверен, что я поступаю правильно, если у кого-то есть правильное решение, пожалуйста, дайте мне знать.
java -version
openjdk version "11" 2018-09-25
OpenJDK Runtime Environment 18.9 (build 11+28)
OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)
java -version
java version "11.0.2" 2018-10-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.2+7-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.2+7-LTS, mixed mode)
<%@ taglib prefix="c" uri="jstl-core" %>
<%@ taglib prefix="fn" uri="jstl-functions" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
Я рекомендую Битроникс . Перед использованием любого другого менеджера транзакций, я рекомендую провести тщательное тестирование. Тесты, такие как отключение питания на разных машинах на каждом этапе транзакции. Вы хотите, чтобы транзакционность защищала вас при возникновении сбоев. Удивительно, сколько менеджеров транзакций не смогли правильно реализовать восстановление.
Bitronix действительно нужен JNDI, который обычно предоставляется для вас в контейнере Java EE, но он включает в себя простую встроенную реализацию, которая будет поддерживать Bitronix в приложении Java SE.
Со своей веб-страницы:
«Обладая более чем 20-летним опытом в области обработки транзакций, JBoss Transactions (JBossTS) является главным менеджером транзакций с открытым исходным кодом.
Он может быть развернут на нескольких серверах приложений, в контейнерах или работать автономно. За последние 20 лет он широко использовался в промышленности и для разработки стандартов, включая OMG и веб-сервисы ».
Вы можете попробовать SimpleJTA: - http://simplejta.sourceforge.net/
Попробуйте Atomikos TransactionsEssentials .
Атомикос является изобретателем «Java EE без сервера приложений», поэтому, если какой-либо JTA / XA с открытым исходным кодом хорошо работает в Java SE, то это должен быть TransactionsEssentials: он был разработан для Java SE с самого начала и включает JDBC и Соединители / пулы JMS, поэтому вам не нужны какие-либо функции сервера приложений.
Из-за своей ориентации на Java SE, TransactionsEssentials также очень мало зависит от сторонних jar-файлов или платформ.
Best
Guy
Отказ от ответственности:
Цитата из http://jotm.ow2.org/
JOTM - это менеджер транзакций с открытым исходным кодом, реализованный на Java. Он поддерживает несколько моделей транзакций и спецификаций, обеспечивая поддержку транзакций для клиентов, использующих широкий спектр платформ промежуточного программного обеспечения (J2EE, CORBA, Web Services, OSGi). Хостинг JOTM принадлежит консорциуму OW2. JOTM использует лицензию в стиле BSD. Эта реализация является полностью функциональной и зрелой, поскольку в течение нескольких лет она использовалась в проекте сервера приложений JOnAS.