- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个直接使用 Java Transaction API 资源的 hibernate 应用程序。我正在尝试使用 UserTransaction 来完成一些基本的数据库事务
The UserTransaction interface defines the methods that allow an application to explicitly manage transaction boundaries
在 hibernate.cfg.xml 文件中我有以下属性:
<session-factory>
<property name="show_sql">true</property>
<property name="connection.datasource">java:comp/env/myDataSource</property>
<property name="jta.UserTransaction">java:comp/UserTransaction</property>
<property name="transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
在应用程序的 web.xml 中,UserTransaction 设置在 <resource-env-ref>
中
<resource-env-ref>
<description>Object factory for MyBean instances.</description>
<resource-env-ref-name>UserTransaction</resource-env-ref-name>
<resource-env-ref-type>javax.transaction.UserTransaction</resource-env-ref-type>
</resource-env-ref>
在代码中,我尝试使用 InitialContext
查找 UserTransaction通过它的 JNDI 名称
public UserTransaction getTransactionContext()
throws Exception
{
if (this.ut == null) {
ut = (UserTransaction)new InitialContext().lookup("java:comp/UserTransaction");
}
return ut;
}
但是会返回以下异常:
03:27:37,530 ERROR [someServlet:555] Error in someMethod
javax.naming.NamingException: Cannot create resource instance
at org.apache.naming.factory.ResourceEnvFactory.getObjectInstance(ResourceEnvFactory.java:117)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:321)
at org.apache.naming.NamingContext.lookup(NamingContext.java:843)
at org.apache.naming.NamingContext.lookup(NamingContext.java:154)
at org.apache.naming.NamingContext.lookup(NamingContext.java:831)
at org.apache.naming.NamingContext.lookup(NamingContext.java:154)
at org.apache.naming.NamingContext.lookup(NamingContext.java:831)
at org.apache.naming.NamingContext.lookup(NamingContext.java:168)
at org.apache.naming.SelectorContext.lookup(SelectorContext.java:158)
此应用程序是从运行正常的 Weblogic 服务器移植到 Apache Tomcat 的;话虽如此 - 我是否需要在我的 context.xml
中定义 UserTransaction为了 getTransactionContext()
找到它?如果不是,我如何才能在我的代码中适本地返回 UserTransaction?
最佳答案
将应用程序从成熟的 Java EE 应用程序服务器移植到 Tomcat(Web 应用程序服务器)需要一些额外的步骤。
所有 Java EE 服务器都带有 JTA 事务管理器,它们的事务引擎管理事务绑定(bind)和事务解析,例如 UserTransaction
JNDI 上下文。
您可以使用 Bitronix或 Atomikos ,您需要在 Tomcat context.xml 中同时设置 UserTransaction 和 TransactionSyncronizationRegistry。
关于java - NamingException : jta. 用户事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26133663/
JTA 和本地事务有什么区别? 如果有一个示例可以展示何时使用 JTA 以及何时使用本地事务,那就太好了。 最佳答案 JTA 是用于管理 Java 事务的通用 API。它允许您以资源中立的方式启动、提
我正在使用 Atomikos 进行 JTA 事务。 我对 JTA 有以下设置: UserTransactionImp userTransactionImp = new UserTransactionI
已结束。此问题不符合 Stack Overflow guidelines .它目前不接受答案。 我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。 关闭
我想找到一种方法来应用带有 JTA @Transactional 注释的自定义拦截器。 我有一个带有 @Transactional 的方法,它是业务事务之一。在该方法中我想: 进行一些数据库操作 使用
我正在更新旧的应用程序,并尽可能少地重新编程。我创建了一个与旧页面类似的页面,其中仅包含一些测试数据,以确保我可以创建与 ejb/jpa 的链接,但我遇到了问题。我将发布 jsp、persistenc
本文整理了Java中com.arjuna.ats.internal.jta.tools.osb.mbean.jta.XAResourceRecordBean类的一些代码示例,展示了XAResource
我们将 JPA 1.0 用于基于 ORM 的操作,并且我们希望我们的应用程序拥有 JTA 数据源。我们只有 1 个数据库,我们的应用程序将连接到该数据库。 我们在 Controller 类中开始我们的
本文整理了Java中com.arjuna.ats.internal.jta.tools.osb.mbean.jta.XAResourceRecordBean.()方法的一些代码示例,展示了XAReso
本文整理了Java中com.arjuna.ats.internal.jta.tools.osb.mbean.jta.XAResourceRecordBean.getUid()方法的一些代码示例,展示了
我如何定义 在 persistence.xml 中? 我的项目在 Tomcat 6 和 Tomcat 7 中运行良好。 现在我正在使用 Struts 2 Spring 3.0.5 JPA 2 Jbos
我想为我正在处理的应用程序编写集成测试。它使用 JTA(多资源)并在应用程序服务器内运行。为这种情况编写自动化测试的最佳方法是什么?使用像 atomikos 这样的独立事务管理器,或者以某种方式利用应
我们正在使用 jboss 管理的 EntityMangerFactory 使用以下 spring bean 现在在我们的 spring bean 中,我们使用 @PersistenceContext
从 JTA 规范中,我了解到它仅用于调用线程的分布式事务(或支持)。这是否意味着事务不能跨越多个线程?还是取决于实现? 是否有任何 JTA 实现支持跨线程 XA? 谢谢! 最佳答案 您可以使用 Tra
本地交易和BMT相同吗? 我们需要 transactionManager 来进行本地事务吗? 我读到 transactionManager 对于本地事务将无效。这是正确的吗? JTA 是否为 CMT
我是 Spring 和 hibernate 新手,请帮忙, 我正在使用(Jboss 6.0 Final 作为服务器) org.springframework.transaction.jta.JtaTr
假设我有一个托管 bean 并且定义了一个 EntityManager。我想知道交易是如何运作的以及它们在各种不同情况下的表现如何。从文档中我了解到,flush()实际上用于覆盖提交上的延迟并立即执行
试图将我的头脑围绕在 JTA 上并任意选择 Bitronix 作为 impl,因为文档更容易获得(与 Atmikos 相反,Atmikos 让你注册并注册以获得 src/docs/jars/等等)。
我使用以下我在网上找到的代码 ( Here ) 作为 JTA 事务处理的示例: // Get a UserTransaction UserTransaction txn = new I
我有 2 个 MySQL 架构和各自的 MysqlXADataSource 配置如下 - @Bean(name = "sourceDataSource") @Primary public DataSo
我正在开发一个Web应用程序,我必须使用我从未使用过的JTA。我开始使用 EntityManager 但它似乎在这里不起作用。当我使用 EntityManager 时,我收到此消息: Only per
我是一名优秀的程序员,十分优秀!