草庐IT

transactional

全部标签

java - 如何在多线程中使用spring事务

我有一个方法如下:ClassA.java@TransactionalpublicvoidmethodA(){ExecutorServiceexecutorService=Executors.newFixedThreadPool(4);executorService.execute(newRunnable(){publicvoidrun(){classB.methodB();}});}ClassB.java@TransactionalpublicvoidmethodB(){updateDB();}methodB能行得通吗?据我了解,methodB会附加methodA的事务,如果metho

java - 在 JUnit 中使用 Spring 测试服务时如何回滚数据库事务?

我测试我的DAO和服务没有问题,但是当我测试INSERTs或UPDATEs时,我想回滚事务并且不影响我的数据库。我在我的服务中使用@Transactional来管理事务。我想知道,是否有可能知道一个事务是否可以,但回滚它以防止更改数据库?这是我的测试:@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations="classpath:/META-INF/spring.cfg.xml")@TransactionConfiguration(defaultRollback=true)publicclassMySe

java - 在 JUnit 中使用 Spring 测试服务时如何回滚数据库事务?

我测试我的DAO和服务没有问题,但是当我测试INSERTs或UPDATEs时,我想回滚事务并且不影响我的数据库。我在我的服务中使用@Transactional来管理事务。我想知道,是否有可能知道一个事务是否可以,但回滚它以防止更改数据库?这是我的测试:@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations="classpath:/META-INF/spring.cfg.xml")@TransactionConfiguration(defaultRollback=true)publicclassMySe

hadoop - 运行 sqoop 导入时出错 - ERROR manager.OracleManager : Failed to rollback transaction

我正在使用sqoop将数据从oracledb加载到hive规范:CDH-5.5.1Sqoop1.4.2初始化:exportSQOOP_HOME=/opt/cloudera/parcels/CDH-5.5.1-1.cdh5.5.1.p0.11/lib/sqoopexportHIVE_HOME=/opt/cloudera/parcels/CDH-5.5.1-1.cdh5.5.1.p0.11/lib/hiveexportHADOOP_CLASSPATH=/opt/cloudera/parcels/CDH-5.5.1-1.cdh5.5.1.p0.11/lib/sqoop/lib/ojdbc7.

hadoop - Apache Flume : cannot commit transaction. 达到堆空间限制

我正在尝试使用Flume将一些数据流式传输到HDFS,并将单个代理配置为具有netcat源、内存channel和HDFS接收器。配置如下:a1.sources=src1a1.channels=ch1a1.sinks=snk1#SOURCESCONFIGURATIONa1.sources.src1.type=netcata1.sources.src1.bind=0.0.0.0a1.sources.src1.port=99999a1.sources.src1.ack-every-event=false#SOURCE->CHANNELa1.sources.src1.channels=ch1#

java - 在哪里放置@Transactional?在接口(interface)规范或实现中?

这个问题在这里已经有了答案:WhereshouldIput@Transactionalannotation:ataninterfacedefinitionoratanimplementingclass?(5个回答)关闭3年前。放置@Transactional注释的最佳做法是什么?我应该注释接口(interface)方法还是实现? 最佳答案 在我看来,这完全取决于您的应用程序架构。这取决于您如何代理您的类(class)。如果您的应用程序设置为proxy-target-class='true'(在您的应用程序上下文中,如果您对接口(in

java - 在哪里放置@Transactional?在接口(interface)规范或实现中?

这个问题在这里已经有了答案:WhereshouldIput@Transactionalannotation:ataninterfacedefinitionoratanimplementingclass?(5个回答)关闭3年前。放置@Transactional注释的最佳做法是什么?我应该注释接口(interface)方法还是实现? 最佳答案 在我看来,这完全取决于您的应用程序架构。这取决于您如何代理您的类(class)。如果您的应用程序设置为proxy-target-class='true'(在您的应用程序上下文中,如果您对接口(in

java - 如何在@Transactional 方法中手动强制提交?

这个问题在这里已经有了答案:Howtoflushdataintodbinsideactivespringtransaction?(4个回答)关闭7年前。我正在使用Spring/Spring-data-JPA,发现自己需要在单元测试中手动强制提交。我的用例是我正在做一个多线程测试,其中我必须使用在线程产生之前持久化的数据。不幸的是,鉴于测试是在@Transactional事务中运行的,即使是flush也无法让生成的线程访问它。@TransactionalpublicvoidtestAddAttachment()throwsException{finalContractc1=contrac

java - 如何在@Transactional 方法中手动强制提交?

这个问题在这里已经有了答案:Howtoflushdataintodbinsideactivespringtransaction?(4个回答)关闭7年前。我正在使用Spring/Spring-data-JPA,发现自己需要在单元测试中手动强制提交。我的用例是我正在做一个多线程测试,其中我必须使用在线程产生之前持久化的数据。不幸的是,鉴于测试是在@Transactional事务中运行的,即使是flush也无法让生成的线程访问它。@TransactionalpublicvoidtestAddAttachment()throwsException{finalContractc1=contrac

java - 如何将 @Transactional 与 Spring Data 一起使用?

我刚开始从事Spring-data、Hibernate、MySQL、JPA项目。我切换到spring-data这样我就不必担心手动创建查询了。我注意到,当您使用spring-data时,不需要使用@Transactional,因为我也尝试了没有注释的查询。我应该/不应该使用@Transactional注释有什么具体原因吗?作品:@TransactionalpublicListlistStudentsBySchool(longid){returnrepository.findByClasses_School_Id(id);}同样有效:publicListlistStudentsBySch