首页 > TAG信息列表 > spring-transactions

春季-当受检查的异常在事务中传播时会发生什么?

我知道在发生RuntimeExceptions时,事务管理器中的默认回滚策略是自动回滚.但是,如果我有一个允许传播的检查异常会怎样?解决方法: However, please note that the Spring Framework’s transaction infrastructure code will, by default, only mark a transaction for rollba

Spring AOP与@Transactional批注

我想使用Spring的事务管理功能实现事务.但是我不确定哪个更好(AOP vs @Transactional).两种功能都能正常工作吗?开发效率是否有差异? (添加) 在这里,AOP的意思是“使用AspectJ而不显式使用@Transactional注释” (添加) 我想知道批注配置和基于XML的配置的区别解决方法:我自己想知道

java-Spring @Transactional是否使用任何Hibernate缓存?

@Transactional public MyEntity getEntity(long id) { return dao.findOne(id); //or select and update as well } 每次我调用事务方法时:我是否将从休眠中获取任何缓存的实体(第一次除外)?还是我总是从数据库中获取新鲜的实体? 这一点很重要,因为我将拥有两个共享相同数

从Spring 4.1.6升级到4.2.4并突然获得TransactionRequiredException

我已经从4.1.6.Release升级到了4.2.4.Release,并突然之间所有之前运行良好的最新Spring版本,现在抛出了以下异常. javax.persistence.TransactionRequiredException: No EntityManager with actual transaction available for current thread - cannot reliably process 'persist

java-事务启动时的侦听器

我正在寻找一个干净的解决方案,以使事务开始时有一个侦听器.这意味着我希望侦听器在春天的上下文中是一个bean(组件),它将在启动新事务时从TransactionPlatformManager或Hibernate Session或类似的东西接收事务启动时的事件. 沿途: @Component class TransactionListener implement

Spring @Async批注

我对Spring @Async注释有疑问. 我有一个控制器自动连线服务(GnInsuranceDetailsS​​ervice) @RequestMapping(value="/agn/AP0W01A_010/insertDetail.do") public ResponseEntity<?> insertDetail(@ModelAttribute("dto")GnInsuranceDetailsDTO dto,HttpSession sessio

Spring的PlatformTransactionManager是否要求以特定顺序提交事务?

我希望通过使用Spring的PlatformTransactionManager对现有的交易API进行改造,以使Spring可以管理我们的交易.我将数据源链接如下: DataSourceTransactionManager-> LazyConnectionDataSourceProxy-> dbcp.PoolingDataSource-> Oracle数据源 在试用DataSourceTransactionManager时,我

TransactionManager Spring 4休眠4 NoSuchMethodError

我试图在春季使用基于注释的事务管理,这是我的春季配置: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xmlns:

春季交易-防止未经检查的异常后发生回滚(RuntimeException)

我无法避免在RuntimeException之后阻止事务回滚.我的环境是在Websphere 8.0上运行的Spring 4.1 Hibernate 3.6 JTA(WebSphereUowTransactionManager). 首先,一个简单的情况表现出预期的效果.由于我捕获了RuntimeException,因此事务将提交并成功创建新资源. @Service("fooService")

java-@Async正在杀死休眠事务

我为我的REST API使用了Open-Session-In-View事务模型,如下所示: @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) sessionFactory.getCurrentSession().beginTransaction(); chain.doFilter(request, resp

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

我有方法: @Transactional public void importChargesRequest() { ... for (Charge charge : charges) { try { Charge savedCharge = saveCharge(charge); } catch (Exception e) { log.error(e.getMessage()); } } } 为了持久

java-多线程Spring事务

假设我们进入一个方法并在主线程中启动事务.在此方法中,有一些异步方法,因此我们在该方法内又创建了2个线程; Thread 1 --> SubMethod1 --> Saving (t=1) ^ | MainThread --> MainMethod --> Saving (t=3)

spring – 测试@TransactionalEvents和@Rollback

我一直试图用我们现有的Spring JUnit测试来测试@TransactionalEvents(Spring 4.2 https://spring.io/blog/2015/02/11/better-application-events-in-spring-framework-4-2的一个特性)(通过@TransactionalTestExecutionListener或子类化AbstractTransactionalUnit4SpringContextTes

java – Spring Jdbc声明式事务已创建但未执行任何操作

我试图在我的基于Spring的Web应用程序中配置声明式事务管理,它拒绝与我合作. 我有两个主要问题: >在我们的dataSource(我们的应用程序需要)上将defaultAutoCommit设置为false会导致所有查询回滚,无论是否涉及事务. >配置事务并创建代理类和事务方法,但似乎没有使用任何事务. 第一个

java – Spring JPA存储库事务性

关于Spring JPA存储库事务性的1个快速问题. 我有一个未标记为事务性的服务,并调用Spring JPA存储库方法 userRegistrationRepository.deleteByEmail(email); 它被定义为 @Repository public interface UserRegistrationRepository extends JpaRepository<UserRegistration, Long

java – 对hibernate应用程序使用@Transactional注释导致错误

我想在今天早上将春天与冬眠融为一体.我想使用spring transaction manager.但得到以下错误.该错误与@Trasactional Annotation有关.如果我删除注释,我能够从弹簧容器中获取bean. Exception in thread "main" java.lang.ClassCastException: com.sun.proxy.$Proxy19 cannot be cast

Spring和JUnit,使用@Transaction注释类和方法的区别?

我想了解如果我使用@Transactional注释我的junit类,Spring将只创建一个将在我的@Test方法之间共享并在最后回滚的事务.而如果我用@Transactional标记每个@Test,将创建一个新事务并在@Test基础上回滚.我在官方文档(link)中找不到预期的行为.解决方法:将@Transactional放在类级别上等

java – Spring代理不包含代理类的注释

我有一个用@Transactional注释的界面.然后实现该接口的具体类.由于注释,spring为实现接口的每个类创建一个代理. 我的问题是,在容器启动时,我正在检查是否有一些类使用特定的用户自定义类型注释进行注释(如果不是我抛出异常).似乎代理上的getAnnotation()方法返回null. 代理不应该

java – Spring JtaTransactionManager和HibernateTransactionManager之间的区别

Spring JtaTransactionManager和HibernateTransactionManager有什么区别,以及何时在我的应用程序中使用它?我知道HibernateTransactionManager,如果我使用Hibernate作为我的ORM工具,我可以使用它,但我不明白何时使用JtaTransactionManager.解决方法:HibernateTransactionManager用于

java – 当事务只读取数据时,我应该避免使用注释@Transactional吗?

我已经从使用TransactionProxyFactoryBean的旧式事务管理迁移到Spring推荐的Declarative事务管理,以避免出现不时出现的事务的异常. 对于事务保存更新删除我添加了注释: @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class) 它对我有用. 问题是: Sh

java – 如何获取Spring事务管理器实例?

我使用注释来标记应该在事务中执行的方法. 但是,在一个地方我需要手动执行transactionManager.rollback(),而不需要注释.如何获取transactionManager对象?解决方法:如果要回滚当前事务,可以使用 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); 请注

java – 春天的PROPAGATION_REQUIRED事务属性?

在http://www.vermatech.com/code/SpringTransactionExamples.html给出的第一个案例研究中, 程序正在调用两种方法,即 testModel.deleteAllCountries(); testModel.initializeCountries(); 其中initializeCountries抛出运行时异常.对于这两种方法,事务定义属性为PROPAGATION_REQU

在Spring JPA Hibernate中了解延迟加载的事务会话

我想对延迟加载和会话边界等做一些澄清. 我的代码结构如下 @Entity class A { .... @OneToOne(fetch=LAZY) private B b; .. } @Entity class B { private id; private name; } @Transactional(SUPPORTS) ADao { A findById(int id); } @Transactional(

使用Spring 2.5从外部事务控制内部事务设置

我正在使用Spring 2.5事务管理,我有以下设置: Bean1 @Transactional(noRollbackFor = { Exception.class }) public void execute() { try { bean2.execute(); } catch (Exception e) { // persist failure in database (so the transaction shouldn't fail) // th

java – 抛出异常后回滚事务

当我在服务方法中抛出异常时,我预计服务上的事务注释将回滚保存操作,但它不起作用. 这是我的服务: @Service @Transactional(value = "transactionManager", rollbackFor = Exception.class) public class OrderServiceImp implements OrderService { @Autowired