Конфигурация Bitronix с исключением tomcat throw jndi

Я новичок в bitronix, и мне нужна транзакция xa в моем приложении.

Я пытаюсь настроить bitronix с spring, но я получаю ниже исключение запуска tomcat.

Любая помощь ценится.

Вызвано: org.зимовать.двигатель.jndi.JndiException: не удается найти имя JNDI [javax.торговая операция.TransactionManager]
в org.зимовать.двигатель.jndi.внутренний.JndiServiceImpl.locate(JndiServiceImpl.java: 117)
в org.зимовать.двигатель.торговая операция.jta.платформа.внутренний.WeblogicJtaPlatform.locateTransactionManager (WeblogicJtaPlatform.java: 41)
org.зимовать.двигатель.торговая операция.jta.платформа.внутренний.AbstractJtaPlatform.canRegisterSynchronization (AbstractJtaPlatform.java: 148)
в org.зимовать.двигатель.торговая операция.внутренний.TransactionCoordinatorImpl.attemptToRegisterJtaSync (TransactionCoordinatorImpl.java: 252)
в org.зимовать.двигатель.торговая операция.внутренний.TransactionCoordinatorImpl.pulse (TransactionCoordinatorImpl.java: 289)
в org.зимовать.jpa.spi.AbstractEntityManagerImpl.joinTransaction (AbstractEntityManagerImpl.java: 1584)
в org.зимовать.jpa.spi.AbstractEntityManagerImpl.postInit (AbstractEntityManagerImpl.java:210)
в org.зимовать.jpa.внутренний.EntityManagerImpl.(EntityManagerImpl.java: 91)
в org.зимовать.jpa.внутренний.EntityManagerFactoryImpl.internalCreateEntityManager (EntityManagerFactoryImpl.java:345)
в org.зимовать.jpa.внутренний.EntityManagerFactoryImpl.createEntityManager (EntityManagerFactoryImpl.java:313)
в Sun.отражать.NativeMethodAccessorImpl.invoke0 (собственный метод)
в Sun.отражать.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java: 57)
в Sun.отражать.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java: 43)
на java.ленг.отражать.Метод.метод Invoke.java: 606)
в org.springframe.ОЗР.jpa.AbstractEntityManagerFactoryBean.invokeProxyMethod (AbstractEntityManagerFactoryBean.java: 407)
в org.springframe.ОЗР.jpa.AbstractEntityManagerFactoryBean$ManagedEntityManagerFactoryInvocationhandler.invoke (AbstractEntityManagerFactoryBean.java:560)
at com.солнце.полномочие.$ Proxy78.createEntityManager (неизвестный источник)
в org.springframe.ОЗР.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke (SharedEntityManagerCreator.java: 288)
at com.солнце.полномочие.$ Proxy83.getDelegate (неизвестный источник)
в org.springframe.данные.jpa.поставщик.PersistenceProvider.fromEntityManager (PersistenceProvider.java: 295)
Вызвано: javax.называющий.NameNotFoundException: имя [javax.торговая операция.TransactionManager] не связан в этом контексте. Не удалось найти [javax.торговая операция.TransactionManager].
в org.апаш.называющий.NamingContext.lookup (NamingContext.java:818)
в org.апаш.называющий.NamingContext.lookup (NamingContext.java: 152)
в org.апаш.называющий.SelectorContext.lookup (SelectorContext.java: 134)
в javax.называющий.InitialContext.lookup(InitialContext.java:415)
в org.зимовать.двигатель.jndi.внутренний.JndiServiceImpl.разместить
(JndiServiceImpl.java: 114)

1 ответ

  1. Похоже, что из трассировки стека вы запускаете приложение в tomcat, поэтому убедитесь, что ниже точек :

    1) у вас не должно быть JTA,bitronix связанных банок в вашем pom.xml или проект конкретной папки lib, потому что эти jar должны быть в папке lib tomcat.

    2) также изменить сервер.xml и контекст.xml в соответствии с документом эти два файла существуют в папке Tomcat conf.

    Я не уверен, что ваша конфигурация для поиска jndi.Вы можете перейти по ссылке ниже, которая предназначена для настройки bitronix для tomcat.

    https://github.com/bitronix/btm/blob/master/btm-docs/src/main/asciidoc/TomcatWithBtm2x.adoc