如何使用Narayana JTA 5.0.3.Final为Tomcat内部运行的web应用程序提供XA事务支持?
我正在尝试在JavaEE兼容的应用服务器之外使用JTA1.2,比如在ApacheTomcat中,到目前为止我已经尝试了以下内容,并且 但我有以下例外 -javax.faces.FacesException:#{utama.satu}:javax.enterprise.context.ContextNotActivieException:ARJUNA016105:无法查找TransactionManager -原因:javax.faces.el.EvaluationException:javax.enterprise.context.ContextNotActivieException:Arjuna011605:无法查找TransactionManager -原因:javax.enterprise.context.ContextNotActivieException:ARJUNA016105:无法查找TransactionManager -原因:javax.naming.NameNotFoundException:Name[TransactionManager]未在此上下文中绑定。找不到[TransactionManager] 这是我的META-INF/context.xml:如何使用Narayana JTA 5.0.3.Final为Tomcat内部运行的web应用程序提供XA事务支持?,tomcat,jboss,eclipselink,jta,Tomcat,Jboss,Eclipselink,Jta,我正在尝试在JavaEE兼容的应用服务器之外使用JTA1.2,比如在ApacheTomcat中,到目前为止我已经尝试了以下内容,并且 但我有以下例外 -javax.faces.FacesException:#{utama.satu}:javax.enterprise.context.ContextNotActivieException:ARJUNA016105:无法查找TransactionManager -原因:javax.faces.el.EvaluationException:javax.
<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="" reloadable="true">
<Resource auth="Container" factory="org.jboss.weld.resources.ManagerObjectFactory" name="BeanManager" type="javax.enterprise.inject.spi.BeanManager"/>
<Transaction factory="com.arjuna.ats.internal.jta.transaction.arjunacore.UserTransactionImple"/>
<ResourceLink global="jdbc/coba" name="jdbc/coba" type="javax.sql.DataSource" />
</Context>
下面是我的conf/server.xml:
<GlobalNamingResources>
....
<Resource name="jdbc/coba"
auth="Container"
type="javax.sql.DataSource"
factory="org.jboss.jbossts.tomcat.TransactionalResourceFactory"
XADataSourceImpl="com.microsoft.sqlserver.jdbc.SQLServerXADataSource"
xa.setUser="sa"
xa.setPassword="123456"
xa.setURL="jdbc:sqlserver://127.0.0.1:1433;databaseName=hrd;"
/>
....
</GlobalNamingResources>
....
....
这是我的persistence.xml,它显示了我如何重新引用数据源:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="sungguhPU" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>java:comp/env/jdbc/coba</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<validation-mode>NONE</validation-mode>
<properties>
<property name="eclipselink.session.customizer" value="id.ac.ums.tomcat.JPAEclipseLinkSessionCustomizer"/>
<property name="eclipselink.logging.level" value="FINEST"/>
<property name="eclipselink.id-validation" value="NONE"/>
</properties>
</persistence-unit>
</persistence>
org.eclipse.persistence.jpa.PersistenceProvider
java:comp/env/jdbc/coba
错误的
没有一个
我还按照EclipseLink官方文档的描述构建了我的客户org.eclipse.persistence.config.SessionCustomizer,但在过去的24小时里,我仍然遇到了相同的异常:-(没有签入您使用的详细信息,但是您提供了TransactionSynchronizationRegistry吗?@TransactionScoped就是这样实现的 您需要根据impl java:comp/TransactionManager和/或java:comp/TransactionSynchronizationRegistry提供