草庐IT

TRANSACTIONS

全部标签

java - 带有@Transactional 注释的多个事务管理器

我们有基本的通用管理器,它由所有管理者继承。根据经理被注释@Transactional注释。有2组事务服务:x.y.service1.*-必须由transactionManager1管理x.y.service2.*-必须由transactionManager2管理如何在不覆盖所有事务方法并指定事务管理器的情况下配置事务?@Transactional(readOnly=true)publicabstractclassGenericManagerImplimplementsIGenericManager{protectedDdao;@AutowiredpublicvoidsetDao(Dd

java - 带有@Transactional 注释的多个事务管理器

我们有基本的通用管理器,它由所有管理者继承。根据经理被注释@Transactional注释。有2组事务服务:x.y.service1.*-必须由transactionManager1管理x.y.service2.*-必须由transactionManager2管理如何在不覆盖所有事务方法并指定事务管理器的情况下配置事务?@Transactional(readOnly=true)publicabstractclassGenericManagerImplimplementsIGenericManager{protectedDdao;@AutowiredpublicvoidsetDao(Dd

spring - Spring上的嵌套事务

我在使用嵌套Spring事务时发现了一些奇怪的行为:当在同一个类中,一个注释为@Transactional的方法调用另一个也注释为@Transactional的方法时没有使用第二个注释。让我们考虑以下类:publicclassMain{publicstaticvoidmain(String[]args){ApplicationContextcontext=newAnnotationConfigApplicationContext(Config.class);finalMainmain=context.getBean(Main.class);//FirstOpSystem.out.pri

spring - Spring上的嵌套事务

我在使用嵌套Spring事务时发现了一些奇怪的行为:当在同一个类中,一个注释为@Transactional的方法调用另一个也注释为@Transactional的方法时没有使用第二个注释。让我们考虑以下类:publicclassMain{publicstaticvoidmain(String[]args){ApplicationContextcontext=newAnnotationConfigApplicationContext(Config.class);finalMainmain=context.getBean(Main.class);//FirstOpSystem.out.pri

java - 仅在确定提交但在提交之前才拦截事务

上下文是Java-带有Hibernate和Spring的JPA。让我们以两阶段提交协议(protocol)的场景为例(但只有一个资源):从应用程序提交的查询投票是/否(在我们的案例中来自数据库)3.1。如果是来自数据库3.1.1。(在代码中进行回调)-不是协议(protocol)的一部分3.1.2。提交到数据库3.2如果没有3.2.1回滚到数据库我想要的是一种在代码中从3.1.1进行回调的方法,但前提是知道事务将被提交,但实际上是在之前提交的。另外,如果这里抛出异常,那么事务应该被回滚。使用Spring中的TransactionSynchronization(*),允许您在事务提交/完

java - 仅在确定提交但在提交之前才拦截事务

上下文是Java-带有Hibernate和Spring的JPA。让我们以两阶段提交协议(protocol)的场景为例(但只有一个资源):从应用程序提交的查询投票是/否(在我们的案例中来自数据库)3.1。如果是来自数据库3.1.1。(在代码中进行回调)-不是协议(protocol)的一部分3.1.2。提交到数据库3.2如果没有3.2.1回滚到数据库我想要的是一种在代码中从3.1.1进行回调的方法,但前提是知道事务将被提交,但实际上是在之前提交的。另外,如果这里抛出异常,那么事务应该被回滚。使用Spring中的TransactionSynchronization(*),允许您在事务提交/完

java - JDBC和JMS的Spring事务同步

我有一个在jboss上运行的SpringWeb应用程序,当前配置为使用HibernateTransactionManager进行db事务,使用JmsTransactionManager进行jms。对于jms,我们使用Camel和ActiveMQ,我们的数据库是DB2。在一个事务中,我需要将一些记录写入数据库并发送两条异步jms消息。jms消息是事件通知,我只希望在数据库事务提交时发送它们。我愿意接受在jdbc事务已经提交后与代理通信失败的风险(因此没有发送消息但已提交db)所以我认为我不需要适当的XA。我相信我需要的是使用Spring事务同步的“尽力而为”的事务管理。spring文档暗

java - JDBC和JMS的Spring事务同步

我有一个在jboss上运行的SpringWeb应用程序,当前配置为使用HibernateTransactionManager进行db事务,使用JmsTransactionManager进行jms。对于jms,我们使用Camel和ActiveMQ,我们的数据库是DB2。在一个事务中,我需要将一些记录写入数据库并发送两条异步jms消息。jms消息是事件通知,我只希望在数据库事务提交时发送它们。我愿意接受在jdbc事务已经提交后与代理通信失败的风险(因此没有发送消息但已提交db)所以我认为我不需要适当的XA。我相信我需要的是使用Spring事务同步的“尽力而为”的事务管理。spring文档暗

java - 没有 @Transactional 注释的 Spring 托管事务

我正在使用Spring注释来管理我的事务,如下所示:@Transactional(readOnly=true)publicclassAlertServiceImplimplementsAlertService{privateAlertDAOalertDAO;publicListgetAlerts(){Listalerts=alertDAO.getAlerts();returnalerts;}}我想知道如果我忘记了注释会发生什么://Oops!ForgottousetransactionalannotationpublicclassAlertServiceImplimplementsAl

java - 没有 @Transactional 注释的 Spring 托管事务

我正在使用Spring注释来管理我的事务,如下所示:@Transactional(readOnly=true)publicclassAlertServiceImplimplementsAlertService{privateAlertDAOalertDAO;publicListgetAlerts(){Listalerts=alertDAO.getAlerts();returnalerts;}}我想知道如果我忘记了注释会发生什么://Oops!ForgottousetransactionalannotationpublicclassAlertServiceImplimplementsAl