Что такое хорошая реализация Java SE JTA TransactionManager с открытым исходным кодом? [закрытый]

Большое спасибо за немедленный ответ.

Я использую реализацию GlassFish JSP и наиболее стабильную версию из доступных «org.eclipse.jetty: jetty-jsp: jar: 9.2.26.v20180806: compile». https://mvnrepository.com/artifact/org.eclipse.jetty/jetty-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)

Та же проблема при использовании Oracle JDK.


    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)

Приложение успешно работает, когда я использую Oracle JDK 1.8

Чтобы работать в JDK 11, мне нужно изменить URI TLD на странице JSP, чтобы хорошо знать имя, а затем скопировать tld под WEB -INF и ссылаться явно в файле web.xml.

JSP (без ошибок),

<%@ taglib prefix="c" uri="jstl-core" %>
<%@ taglib prefix="fn" uri="jstl-functions" %>

web.xml

  
    
      jstl-core
      /WEB-INF/c.tld
    
    
      jstl-functions
      /WEB-INF/fn.tld
    
  

Ранее JSP (с ошибкой)

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

Я не уверен, что я поступаю правильно, если у кого-то есть правильное решение, пожалуйста, дайте мне знать.

23
задан Arjan Tijms 11 May 2013 в 10:12
поделиться

5 ответов

Я рекомендую Битроникс . Перед использованием любого другого менеджера транзакций, я рекомендую провести тщательное тестирование. Тесты, такие как отключение питания на разных машинах на каждом этапе транзакции. Вы хотите, чтобы транзакционность защищала вас при возникновении сбоев. Удивительно, сколько менеджеров транзакций не смогли правильно реализовать восстановление.

Bitronix действительно нужен JNDI, который обычно предоставляется для вас в контейнере Java EE, но он включает в себя простую встроенную реализацию, которая будет поддерживать Bitronix в приложении Java SE.

16
ответ дан 29 November 2019 в 01:52
поделиться

Со своей веб-страницы:

«Обладая более чем 20-летним опытом в области обработки транзакций, JBoss Transactions (JBossTS) является главным менеджером транзакций с открытым исходным кодом.

Он может быть развернут на нескольких серверах приложений, в контейнерах или работать автономно. За последние 20 лет он широко использовался в промышленности и для разработки стандартов, включая OMG и веб-сервисы ».

9
ответ дан 29 November 2019 в 01:52
поделиться

Вы можете попробовать SimpleJTA: - http://simplejta.sourceforge.net/

4
ответ дан 29 November 2019 в 01:52
поделиться

Попробуйте Atomikos TransactionsEssentials .

Атомикос является изобретателем «Java EE без сервера приложений», поэтому, если какой-либо JTA / XA с открытым исходным кодом хорошо работает в Java SE, то это должен быть TransactionsEssentials: он был разработан для Java SE с самого начала и включает JDBC и Соединители / пулы JMS, поэтому вам не нужны какие-либо функции сервера приложений.

Из-за своей ориентации на Java SE, TransactionsEssentials также очень мало зависит от сторонних jar-файлов или платформ.

Best

Guy

Отказ от ответственности:

11
ответ дан 29 November 2019 в 01:52
поделиться

Цитата из http://jotm.ow2.org/

JOTM - это менеджер транзакций с открытым исходным кодом, реализованный на Java. Он поддерживает несколько моделей транзакций и спецификаций, обеспечивая поддержку транзакций для клиентов, использующих широкий спектр платформ промежуточного программного обеспечения (J2EE, CORBA, Web Services, OSGi). Хостинг JOTM принадлежит консорциуму OW2. JOTM использует лицензию в стиле BSD. Эта реализация является полностью функциональной и зрелой, поскольку в течение нескольких лет она использовалась в проекте сервера приложений JOnAS.

4
ответ дан 29 November 2019 в 01:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: