【java – JUnit用于spring测试的多个事务管理器】教程文章相关的互联网学习教程文章

Java Spring 4 @Transactional嵌套事务问题【代码】

我有以下课程:@Transactional public class MyClass{@Transactional(propagation=Propagation.REQUIRES_NEW)public void method1(){....myDao.update(entity);}public void method2(){method1(); //I need to be sure that data was persisted to DB and find the entity by id MyEntity ent=myDao.find(entityId);//entity is not updated here}}但实际上我无法在method2中从数据库读取更新的实体.如何实现呢?在...

java-如何使用weblogic和JPA在Spring中处理事务【代码】

我正在使用JPA在Spring中实现一个应用程序,并将其部署在weblogic服务器中.我想知道如何处理交易.对于数据库配置,我配置了persistence.xml,在其中将事务类型声明为JTA.在我的持久性逻辑中,在更新某些内容时,我正在使用以下逻辑:entityManager.getTransaction().commit();但这会引发异常.如果我不提交,则数据库表中的数据不会更新.即使我尝试在方法级别声明@Transactional也不起作用.任何机构都可以告诉我如何处理交易,以及我是否正...

java-事务启动时的侦听器【代码】

我正在寻找一个干净的解决方案,以使事务开始时有一个侦听器.这意味着我希望侦听器在春天的上下文中是一个bean(组件),它将在启动新事务时从TransactionPlatformManager或Hibernate Session或类似的东西接收事务启动时的事件. 沿途:@Component class TransactionListener implements ?? {@Autowiredprivate Something x;public void onTransactionBegin(...) {x.doSomething()}}具体来说,我正在缓解系统范围的问题,我需要在事务开始...

java-大量的单元测试导致Binder事务失败而冻结

我已经为Android应用程序编写了约400个单元测试.如果我逐包运行测试,则一切正常,我的所有测试均通过.但是,如果我尝试一次全部运行它们,最终(进行了约360次测试),Android会吐出来!!!失败的活页夹交易错误!在大约10到20个错误之后,我正在测试的应用程序进程被杀死,并且单元测试甚至从未完成. 我应该注意,在此期间Eclipse报告控制台中正在收集测试信息.我认为这很奇怪,因为它表明即使JUnit UI并未反映出它正在运行测试.当一切正常...

通过JCA错误进行Java大型机通信-连接不在事务中【代码】

我正在使用comporsys JCA连接器从Java连接到大型机环境. Java应用程序部署在JBOSS中.以这种方式配置的连接器:<connection-factories><no-tx-connection-factory><jndi-name>ComporsysIMSConnector</jndi-name><rar-name>ims_connector_port4027_CreditAuth.rar</rar-name><connection-definition>de.comporsys.connector.ims.ConnectionFactory</connection-definition><min-pool-size>1</min-pool-size><max-pool-size>15</max-p...

java-Spring集成测试事务未回滚【代码】

为基于Spring的应用程序编写集成测试遇到事务回滚问题-插入了数据,但是在事务回滚后,数据仍在数据库表中…Spring 3.0.5,JUnit 4.8.2 集成测试代码@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "classpath:/applicationContext.xml" }) @TransactionConfiguration(transactionManager="txManager",defaultRollback=true) @Transactional public class GenerateCodeStrategyTest {@Autowired@Quali...

java-Spring MVC控制器中的事务回滚

我有一个用@Transaction注释的Spring MVC控制器,在某些输入下,我需要回滚该事务. 据我了解,触发回滚的正确方法是从控制器抛出异常. 但是,如果我从控制器抛出异常,我将没有机会从控制器返回ModelAndView对象. 如何在仍提供要渲染的ModelAndView的同时触发控制器中的回滚?解决方法:例外是遵循的适当方法.春天也可以map exceptions to views.这可能就是您想要做的.

java-嵌套Spring事务永不回滚【代码】

我在服务层上工作,该服务层在执行任务时记录到数据库.我想确保该日志不会在发生错误时回滚,因为我应该始终记录失败尝试的记录.下面是示例代码来说明我想要的是什么.@Transactional(rollbackFor=Exception.class) public void performTask() {//Perform task 1log("task1Complete");//Perform task 2log("task2Complete"); }@Transactional() public void log(String message) {//commit message to DB//This should never rollback...

java-EJB事务回滚后自动重试【代码】

基本上,我有一个JMS队列和一个MDB,用于从JMS队列中收集消息,对它们进行一些处理,然后通过JPA将消息持久化到数据库中.我将负责将消息持久保存到数据库中的方法标记为要在新事务中启动:@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) public void create(T entity) {try{getEntityManager().persist(entity);}catch(Exception e){throw new RuntimeException("DB Exception");} }如果交易被回滚,是否会自动退休直到...

java-使用Spring时如何手动取消JPA或Hibernate事务【代码】

我正在使用JPA 2 Hibernate实现和Spring MVC来管理事务 我正在使用通用DAO模式来管理数据库操作 当前,我们有一个单一方法的事务,例如:someDao.save (someObject)这是从JSF页面调用的@Transactional方法. 方法save是从Generic DAO继承的,它持久地存储到具有级联oneToMany关系的许多实体的数据库中,但是它必须在数据库中执行几千个插入语句,因此需要很长时间. 我想为用户提供一种取消操作的方法,但是到目前为止,我无法做到这一点,当...

java-处理Android片段事务问题的正确/最佳方法【代码】

在我的开源Android应用程序中,发现了一个问题,即某个特定片段会出现在另一个片段之上,或者在特定情况下会使应用程序崩溃. GitHub上的问题,如果您想查看更多信息和示例屏幕截图:https://github.com/rpi-mobile/RPIMobile-Android/issues/31 我已查明原因,但想知道使用android.support.v4.app包中的哪些方法来解决问题. 在MainActivity.java中,是使用FragmentTransaction.replace()切换片段的导航抽屉的代码. 出现问题是因为在MapFr...

java-@Async正在杀死休眠事务【代码】

我为我的REST API使用了Open-Session-In-View事务模型,如下所示:@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)sessionFactory.getCurrentSession().beginTransaction();chain.doFilter(request, response);sessionFactory.getCurrentSession().getTransaction().commit(); }这项工作很好.我想添加@Async功能.所以我创建了:@Configuration @EnableAsync public class Asy...

java-在全局事务中运行本地事务的正确含义是什么?

我是JTA的新手,目前正深入了解其规范.我还创建了一些示例项目,以更快地深入该主题.我将IBM WebSphere 9用作运行时. 我创建了一个由EJB和MDB组成的简单项目.我的想法是,我将一些JMS发送到队列,MDB然后获取此消息,对其进行处理并使用本地接口调用EJB(MDB和EJB都位于同一EAR). EJB依次处理传入的对象,并使用JDBC通过XA数据源将其写入Oracle数据库. MDB onMessage()方法定义了TransactionAttributeType.NOT_SUPPORTED,正如JTA所说的,它...

java-内部事务(REQUIRES_NEW)引发异常时的外部事务回滚【代码】

我有方法:@Transactionalpublic void importChargesRequest() {...for (Charge charge : charges) {try {Charge savedCharge = saveCharge(charge);} catch (Exception e) {log.error(e.getMessage());}} }为了持久保存每个Charge我调用内部方法:@Transactional(propagation = Propagation.REQUIRES_NEW)public Charge saveCharge(Charge charge) {return chargesRepository.saveAndFlush(charge);}如果saveCharge方法抛出异常(在...

java-多线程Spring事务【代码】

假设我们进入一个方法并在主线程中启动事务.在此方法中,有一些异步方法,因此我们在该方法内又创建了2个线程;Thread 1 --> SubMethod1 --> Saving (t=1)^| MainThread --> MainMethod --> Saving (t=3)|v Thread 2 --> SubMethod2 --> Exception while saving (t=2).由于线程2发生异常,因此我想回滚其他线程完成的所有事务.但是,尽管可以回滚线程2的主线程拥有的事务,但我无法回滚线程1的工作.我正在使用Spring / Hibernate,所以...

UNIT - 相关标签