kevin
kevin
> 发起方事务传播不能设置为 `DTXPropagation.SUPPORTS` 去除DTXPropagation.SUPPORTS 正常情况不再报错。 但是在发起方主动发起错误。远端仍然会保存。事物并没有回滚。 管理端日志:2019-03-25 10:26:00.732 INFO 1796 --- [-rpc-service-10] c.c.t.t.s.s.impl.TxExceptionServiceImpl : write tx_exception. WriteTxExceptionDTO(groupId=10b80406b12537, unitId=0ac2aa8daf800e16e93296eaa36e5326, modId=provider-system-core, transactionState=0, registrar=4, remark=[StatementInfo(sql=DELETE FROM tperson WHERE , params=[])]) 这里的tperson就是远端保存的表。我看管理端有删除日志,为什么没删除数据?
> 看到你参与方是TXC模式,你的Dao层需要配置可以获取自增主键,或参考[https://www.txlcn.org/zh-cn/docs/setting/client.html,为服务增加业务主键](https://www.txlcn.org/zh-cn/docs/setting/client.html%EF%BC%8C%E4%B8%BA%E6%9C%8D%E5%8A%A1%E5%A2%9E%E5%8A%A0%E4%B8%9A%E5%8A%A1%E4%B8%BB%E9%94%AE) @Component public class MysqlPrimaryKeysProvider implements PrimaryKeysProvider { @Override public Map provide() { return Maps.newHashMap("tperson", Collections.singletonList("fid")); } } 远程端配置了,仍然没有删除相应记录呀。 管理端日志还是这样: remark=[StatementInfo(sql=DELETE FROM tperson WHERE , params=[])])
> 看到你参与方是TXC模式,你的Dao层需要配置可以获取自增主键,或参考[https://www.txlcn.org/zh-cn/docs/setting/client.html,为服务增加业务主键](https://www.txlcn.org/zh-cn/docs/setting/client.html%EF%BC%8C%E4%B8%BA%E6%9C%8D%E5%8A%A1%E5%A2%9E%E5%8A%A0%E4%B8%9A%E5%8A%A1%E4%B8%BB%E9%94%AE) 我把远程的改成@LcnTransaction 同样效果。