草庐IT

java - jetty 8 + EJB 3.1 + JTA + CDI + JPA 2 堆栈?

谁能告诉我目前是否可以通过Jetty将部分JavaEE6Web配置文件“粘合在一起”?我找到了很多关于将独立的EJB3容器、JTA提供程序等与较旧的Jetty版本集成的文章,所以我想知道是否可以让它们一起工作。我想组装一个Servlet3.0+CDI+EJB3.1+JTA(如果需要,我真正想要的是声明式事务管理)+JPA2环境,而不是Jetty8(如果没有可用的Jetty替代品,则为Tomcat7)。我的问题是:可以做到吗?有没有人设法做到这一点?有没有关于让OpenEJB、Atomikos、Weld、EclipseLink和Jetty(或任何其他类似堆栈)协同工作的文章?那里有任何神

java - 为什么 JTA 不支持嵌套事务

为什么JTA不支持嵌套事务?是因为实现它们的复杂性(我对此表示怀疑)还是某些设计原则? 最佳答案 JTA规范并不是说它不支持嵌套事务-它只是不需要实现者支持它。以下摘录自JTA1.1规范:页。11,13;3.1UserTransaction接口(interface)和3.2TransactionManager接口(interface)"Supportfornestedtranactionsisnotrequired."页。13、3.2.1开始交易"IftheTransactionManagerimplementationdoesno

在循环中执行插入时出现 javax.persistence.TransactionRequiredException

我有一个使用Spring、Hibernate和JTA的应用程序。我们收到了一个数据大于预期的请求(10000个元素),一般请求是10-100个元素。在处理这个请求时,我们尝试在数据库中为每个元素插入一条记录,这是在for循环中完成的伪代码:processRecords(list){for(Elementelement:list){dao.findBy--Thistakesaround100ms--someotherchecksandlogicdao.add(element);--Thistakesaround150msdao.flush();}}这个block需要很多时间来处理记录然后

java - 如何为 JPA-Hibernate 定义非 JTA 数据源? org.hibernate.connection.DatasourceConnectionProvider - 找不到数据源 :

我正在尝试将我的Web应用程序的JDBC代码更改为使用Hibernate作为提供程序的JPA。我正在使用EclipseIDE。在那里我定义了一个MySQL数据源。我在persistence.xml中添加了它。但是,我收到以下错误。6640[30289364@qtp-7494106-7]ERRORorg.hibernate.connection.DatasourceConnectionProvider-Couldnotfinddatasource:tamSqljavax.naming.NameNotFoundException;remainingname'tamSql'我的persist

java - Spring Batch Reader 的游标在 JTA 事务管理步骤中提前关闭

相关步骤的工作配置如下:Step、SpringBatchJobRepository和业务存储库(使用各种数据源)都使用JTA事务管理器。步骤“myStep”使用JdbcPagingItemReader。WebLogic、OracleXE和/或EE我想分析“myStep”中JdbcCursorItemReader的性能,但是在第一次提交后,第二个block的第一次读取将失败并出现java.sql.SQLException:结果集已关闭。我怀疑可能是JTA/XA驱动程序出于某种原因关闭了游标,因此我为“myStep”提供了一个简单的数据源事务管理器(在读者正在使用的数据源上),并且该步骤能

java - Arjuna JTA 事务意外回滚

当我检查JBoss日志时,我看到了很多这样的错误2012-03-2912:01:27,358WARN@[com.arjuna.ats.jta.logging.loggerI18N][com.arjuna.ats.internal.jta.resources.arjunacore.norecoveryxa][com.arjuna.ats.internal.jta.resources.arjunacore.norecoveryxa]CouldnotfindnewXAResourcetouseforrecoveringnon-serializableXAResource2012-03-291

java - 如何在多线程之间共享一个事务

我们遇到了一个使用多线程的场景。在主线程中,做一些逻辑和更新数据库,在某个时刻,它会调用另一个服务来更新数据库,该服务在另一个线程中运行。我们希望两个线程共享同一个事务,也就是说,任何一个线程中的操作失败,那么另一个线程中的操作也会被回滚。但是工作了几天,发现有帖子说JTA不支持多线程。目前我们使用Bitronix作为JTA提供者,有没有人知道Bitronix是否支持一个事务中的多线程?还是有任何其他JTA提供者支持这个(独立的JTA提供者不是J2EE容器)? 最佳答案 “多个线程可能同时与同一个全局事务相关联。”-JTA规范v1.

java - 奇怪的 Atomikos 异常 - init() : Log already in use? 中的错误

我们正在尝试在多个本地环境上运行使用Atomikos作为事务管理器的相同Web应用程序(每个环境都使用相同版本的spring、atomikos、tomact等,并具有相同的配置文件)。其中一些工作正常,但在其中一个中,当我们尝试启动tomcat时,出现以下异常:Causedby:java.lang.IllegalStateException:Can'toverwritecausewithjava.lang.RuntimeException:Logalreadyinuse?atjava.lang.Throwable.initCause(Throwable.java:456)atcom.a

mongodb - 如何使用面向文档的数据库(如 MongoDB)实现类似 JTA 的事务操作?

翻来覆去,我真的很难找到这个问题的合适答案。我已经尝试过这里描述的Mongo的两阶段提交:http://docs.mongodb.org/manual/tutorial/perform-two-phase-commits/但它似乎很乏味,并且缺乏与其他层的分布式事务。我还需要关于韧性和可靠性的有力论据。有没有人在这方面取得了成功的研究或生产实现?我的基本需求是向JCR实现添加面向文档的持久性。谢谢你的帮助 最佳答案 不幸的是,大多数NoSQL数据库不支持ACID或XA,除了像Neo4j这样的图形数据库。Mongodb只支持单个文档中

mysql - 是否仍在使用 XA/JTA 事务?

我有一个与多个数据库和一些自定义服务交互的应用程序。对于某些操作,我需要类似事务的行为,其中一组更改要么在所有数据库/服务中提交,要么在发生错误时全部回滚。来自X/Open组的XA标准和JavaJTA似乎使用两阶段提交过程来解决这个问题。一些数据库(mySQL、Postgres、Oracle)支持这些接口(interface),但我感觉它们不经常使用或流行度下降。真的吗?如果是这样,为什么?我知道mySQL上的XA存在一些与复制相关的问题。此外,XA事务可能会显着变慢。XA不受欢迎/不常见还有其他原因吗? 最佳答案 XA有几点:它完