67,514
社区成员
发帖
与我相关
我的任务
分享
<!-- JTA 分布式事物配置 事务管理器 -->
<bean id="sysAtomikosTransactionManager" class="com.atomikos.icatch.jta.UserTransactionManager" init-method="init" destroy-method="close">
<property name="forceShutdown" value="false" />
</bean>
<bean id="sysAtomikosUserTransaction" class="com.atomikos.icatch.jta.J2eeUserTransaction">
<property name="transactionTimeout" value="300" />
</bean>
<bean id="jtaTransactionManager" class="org.springframework.transaction.jta.JtaTransactionManager"
depends-on="sysAtomikosTransactionManager,sysAtomikosUserTransaction">
<property name="transactionManager" ref="sysAtomikosTransactionManager" />
<property name="userTransaction" ref="sysAtomikosUserTransaction" />
<property name="allowCustomIsolationLevels" value="true" />
</bean>
<!-- 数据库事务 -->
<tx:annotation-driven transaction-manager="jtaTransactionManager" proxy-target-class="true" />
@ImportResource({"classpath*:META-INF/spring/*.xml"})
2019-04-02 15:42:26.535 INFO 123096 --- [io-11800-exec-4] c.a.icatch.imp.CompositeTransactionImp : rollback() done of transaction 192.168.0.38.tm0000100045
java.lang.ArithmeticException: / by zero
at cn.gooagoo.registryplatform.api.service.impl.ProductServiceImpl.save(ProductServiceImpl.java:77) ~[classes/:?]
@Override
@Transactional(rollbackFor = Exception.class)
public Integer save(ReProduct reProduct) {
reProduct.setId(UUID.getUUID());
reProduct.setCreateTime(new Date());
reProduct.setUpdateTime(new Date());
reProduct.setIsDel("N");
Integer saveCount = reProductGeneratorMapper.insertSelective(reProduct);
if(saveCount > 0){
if(CollectionUtils.isNotEmpty(reProduct.getProductFunction())){
int i = 1 / 0;
for (ReProductFunction entity : reProduct.getProductFunction()){
entity.setId(UUID.getUUID());
entity.setProductId(reProduct.getId());
entity.setCreateTime(new Date());
entity.setIsDel("N");
if(reProductFunctionGeneratorMapper.insertSelective(entity)==0){
GooagooLog.info("产品功能信息存储失败!");
}
}
}
}
return saveCount;
}
[/quote]
if(reProductFunctionGeneratorMapper.insertSelective(entity)==0){
GooagooLog.info("产品功能信息存储失败!");
throw new Exception(""产品功能信息存储失败");
}[/quote]
根本进入不到下边的步骤,因为上边已经有异常了。 @Override
@Transactional(rollbackFor = Exception.class)
public Integer save(ReProduct reProduct) {
reProduct.setId(UUID.getUUID());
reProduct.setCreateTime(new Date());
reProduct.setUpdateTime(new Date());
reProduct.setIsDel("N");
Integer saveCount = reProductGeneratorMapper.insertSelective(reProduct);
if(saveCount > 0){
if(CollectionUtils.isNotEmpty(reProduct.getProductFunction())){
int i = 1 / 0;
for (ReProductFunction entity : reProduct.getProductFunction()){
entity.setId(UUID.getUUID());
entity.setProductId(reProduct.getId());
entity.setCreateTime(new Date());
entity.setIsDel("N");
if(reProductFunctionGeneratorMapper.insertSelective(entity)==0){
GooagooLog.info("产品功能信息存储失败!");
}
}
}
}
return saveCount;
}
[/quote] @Override
@Transactional(rollbackFor = Exception.class)
public Integer save(ReProduct reProduct) {
reProduct.setId(UUID.getUUID());
reProduct.setCreateTime(new Date());
reProduct.setUpdateTime(new Date());
reProduct.setIsDel("N");
Integer saveCount = reProductGeneratorMapper.insertSelective(reProduct);
if(saveCount > 0){
if(CollectionUtils.isNotEmpty(reProduct.getProductFunction())){
int i = 1 / 0;
for (ReProductFunction entity : reProduct.getProductFunction()){
entity.setId(UUID.getUUID());
entity.setProductId(reProduct.getId());
entity.setCreateTime(new Date());
entity.setIsDel("N");
if(reProductFunctionGeneratorMapper.insertSelective(entity)==0){
GooagooLog.info("产品功能信息存储失败!");
}
}
}
}
return saveCount;
}