问题标签 [jta]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2005 浏览

java - JTA 事务中的 Hibernate Session 范围与 Open-Session-In-View

说使用JTA带有 H 的 Transactions 与ibernate使用 theOpen-Session-In-View相对于会话范围进行对比是否正确?
从我已经能够在JTATransactions 中收集到的 Session 范围是一个事务(主要基于此链接),而在Open-Session-In-View模式中,会话的范围是请求,您可以在其中有多个事务。

我问,首先要了解,其次要验证“谁”在使用时负责会话处理JTA
目前,当使用 时Open-Session-In-View,我有一个HibernateUtil处理会话的打开、检索和关闭的类(通过ThreadLocal<Session>)。
我什么时候切换到使用JTAHibernate处理上述会话操作?(作为我调用 userTransaction.begin,userTransaction.rollback 的衍生产品)

顺便说一句,我问的是JTA因为我需要协调交易Hibernate JMSEHCache所以这不是一般的最佳实践“让我们使用 JTA”的问题。

伊泰

0 投票
1 回答
1729 浏览

java - ClassNotFoundException 与 EHCache-Atomikos

我正在尝试将 EHCache 的事务能力与 Atomikos 和 Apache Tomcat 一起使用(用于 JMS 和 Hibernate,但这只是为了向怀疑者保证我真的需要 JTA)。

我目前正在研究一个小型 POC,我试图在其中放置一个MyValue实现的实例,Serializable当我尝试提交事务时,我以 __ClassNotFoundException作为根(堆栈跟踪位于末尾)。

当我 jarMyValue文件并将其放在 %TOMCAT_HOME%\lib 下时,我没有例外。

重要的是要补充一点,因为我在atomikos 教程中看到了Atomikos 的 jar 和 EHCache jar 都在 %TOMCAT_HOME%\lib 下的指令。

这是报价:

当 Atomikos 事务管理器在 Tomcat 中全局安装时,您现在还必须将 JDBC 驱动程序安装在同一全局位置(即:安装到 TOMCAT_HOME/lib 文件夹中)。如果您不这样做,您将在 Web 应用程序部署期间收到 NoClassDefFoundErrors 或 ClassNotFoundException 甚至 ClassCastException。
这不是 Atomikos 或 Tomcat 的限制,而是 Tomcat 和 Atomikos 都必须遵循的 J2EE 类加载设计。

问题是我当然不能在那个文件夹下拥有我所有的值类。

我是否误输入了指令?

有没有人遇到过这个问题?

EHCache.xml

堆栈跟踪

0 投票
1 回答
673 浏览

jpa - EJB + POJO Helpers + EntityManager 的问题

我正在使用 EJB...我执行以下操作,但我不知道为什么注入的 EntityManager 没有按预期工作。

  1. EJB1 在 EJB2 上调用一个写入 DB 的方法。
  2. 当 EJB2 返回时,EJB1 向 MDB 发送一条消息。
  3. MDB 调用 EJB3 读取 DB 并做一些工作。

我的问题是使用 @PersistenceContext 注入所有 3 个 EJB 的 EntityManager 无法正常工作。在 EJB2 中调用 persist() 不会反映在 EJB3 中注入的 EntityManager 上。可能有什么问题?希望我把我的问题说清楚了。现在使用容器管理的事务。

0 投票
2 回答
15944 浏览

java - javax.jms.ConnectionFactory 和 javax.jms.XAConnectionFactory 的区别

由于需要分布式事务,我正在进入 JTA 的世界,我不确定之间的差异javax.jms.ConnectionFactoryjavax.jms.XAConnectionFactory或者更准确地说,它如何javax.jms.ConnectionFactory执行我期望只能javax.jms.XAConnectionFactory为我做的事情。

详细信息:我使用 Atomikos Essentials 作为我的事务管理器,并且我的应用程序在 Apache Tomcat 6 上运行。

我正在运行一个带有虚拟应用程序的小型 POC,其中我的 JMS 提供程序 ( OpenMQ) 注册为JNDI资源。

奇怪的问题是,在我的代码中我这样做:

后来在代码中,我在 a 中使用了这个会话,它在两个带有or 或的 s 中UserTransaction完美地执行。MessageProducerCommitRollback

我不明白的是,我怎么会使用javax.jms.XAConnectionFactory.createConnection()方法并且我得到了一个Session可以完成工作的方法?有什么javax.jms.XAConnectionFactory作用?

我还要补充一点,我已经查看了两个类(和javax.jms.BasicConnectionFactory)的源代码,并且我验证了 XA 类不会覆盖createConnection.

0 投票
3 回答
12900 浏览

java - UserTransaction 如何传播?

我有一个带有 bean 管理事务的无状态 bean,以及这样的方法:

那么如何UserTransaction传播到OtherStatelessBeanLocalbean?

0 投票
1 回答
584 浏览

java - EHCache 是否需要 put() 以反映实例的更改 (XA)?


我已经开始使用 EHCache 作为 JTA UserTransaction 中的事务缓存(XAResource),我看到的东西有点奇怪,至少在我看来,我想了解我的“看到”是否错误或者我的理解。
以下代码将返回false

假设MyClass有一个类型的成员,MyOtherClass并且changeSomeInnerReferrence将引用从当前值更改为参数;还假设 equals 考虑了该成员。
我注意到,除非我在上面的代码myChache.put(key,a)之前添加,否则ut.commit()将返回false.

这是为什么?这是缓存的一般行为吗?我认为一旦调用提交,更改内部引用就会传播到缓存中。

谢谢,
伊泰

0 投票
1 回答
3731 浏览

spring - Spring 无法查找 jdbc 配置的数据源

我已经在 tomcat 5.5 上部署了我的应用程序,IDE 是带有 myeclipse 插件的 eclipse。当我尝试启动 tomcat 服务器时,出现以下错误:

错误 - ContextLoader.initWebApplicationContext(219) | 上下文初始化失败 org.springframework.beans.factory.BeanCreationException:创建 ServletContext 资源 [/WEB-INF/xaconfig/daoJPAConfig.xml] 中定义的名称为“dataSource”的 bean 时出错:调用 init 方法失败;嵌套异常是 javax.naming.NameNotFoundException: Name java:comp is not bound in this Context at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1412) at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 在 org.springframework.beans。

我已将 Apache Software Foundation\Tomcat 5.5\conf 中的数据源配置为:

我添加了 Apache Software Foundation\Tomcat 5.5\conf\ context.xml 页面,我添加了我的 webInf\web.xml

我正在使用 spring 框架,hybernate+jpa 。请告诉我,可能是什么问题?

0 投票
2 回答
20919 浏览

hibernate - 选择的事务策略需要访问 JTA TransactionManager 或无法构建 EntityManagerFactory

我在 apache tomcat5.5 上使用 Spring 2.0.6 和 Hibernate 3.2.x,现在我们计划将我们的 hybernate 映射文件更改为 hybernate+jpa 支持映射文件。为此,我们创建了这样的文件

daoConfig.xml

在我的 daoconfig.xml 中,我给出了 persistence.xml 的路径,这是我的 persistence.xml 文件

这里我指定我的 orm 映射文件名
orm.xml 文件是

当我试图运行我的服务器时。我得到了错误

给我任何建议

0 投票
1 回答
464 浏览

hibernate - 无法使用休眠保存我的数据

我开始使用 Hibernate 并尝试将一些数据从 Web 应用程序保存到我的数据库中。

我的 servlet 代码在这里:

我的问题是它给了我错误:

javax.persistence.TransactionRequiredException:没有正在进行的事务

我已经在我的 persistence.xml 中添加了选项:

<property name="hibernate.hbm2ddl.auto" value="create"/>

它创造了我的桌子。所以我认为我的问题是我需要使我的代码具有事务性。但我该怎么做?

如果我尝试这样做:

它给出了错误(我认为是因为我在我的 persistence.xml 上将我的事务类型声明为“JTA”)。

那么,有人可以帮我解决这个问题吗?

提前致谢。


我通过这样做解决了我的问题:

在此链接中找到帮助:http: //java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/transactions/transactions6.html

但无论如何,欢迎对此提出一些建议。

0 投票
1 回答
3168 浏览

java - 我可以在 commit() 之后重用 UserTransaction 实例吗?


下面代码中对 ut 实例的重用是否正确?

当 JNDI 资源这样定义时:

我不确定是否需要添加另一个查找,以便在开始新的 UserTransaction 之前从工厂检索新的 UserTransaction?

我认为这无关紧要,但正如资源定义所述,我使用 Atomikos 作为我的事务管理器(因此它是工厂作为工厂)。

谢谢,
伊泰