分布式事务协调器:wdpcTM
1、分为两个持久化分布式事务文件夹:wdpcTM和 wdpcTMcompleted和wdpcTmError
wdpcTM:存放正在运行的全局事务
wdpcTMcompleted:运行结束的全局事务
wdpcTmError:运行出错的全局事务,需要人工干预的事务。
2、全局事务结构
1)全局事务ID:globalTxId
2)服务名称:serviceid
3)实例ID:instanceid
4)本地事务ID:localtxid
5)父节点事务id:parenttxid
6)状态:status(start,excuting,end,error)
7)错误类别:errorType(1、执行错误2、非执行错误(网络传输等原因))
8)错误:error
文件名:globaltxid_xxx
<?xml version="1.0" encoding="UTF-8"?>
<globalTM>
<!–1..1–>
<ID value="123"/>
<!–1..*"create:建立excuting:正在运行 compensating:正在补偿 excuteEnd:执行结束 compensationEnd:补偿结束
errReturn:错误返回 okReturn:正确返回 dead:死掉"–>
<status>
<stautsType value="start"/>
<timeBegin value=""/>
<timeEnd value=""/>
</status>
<currentStauts Value="excuting"/>
<result valut="*"/>
<error value="*"/>
<!–1..*–>
<service>
<localTxId>123</localTxId>
<name value="add"/>
<parameters value=""/>
<currentStauts Value="excuting"/>
<!–1..*("start/excutig/compensating/excuteEnd/compensationEnd/error)–>
<status>
<stautsType value="start"/>
<timeBegin value=""/>
<timeEnd value=""/>
</status>
<result value="运行结果"/>
<errorType value="1/2"/>
<error value=""/>
<!–1..*–>
<service>
</service>
</service>
</globalTM>
本地事务:localTM
文件名:localTM _xxx
<?xml version="1.0" encoding="UTF-8"?>
<localTM>
<GlobalTXID value="123"/>
<!–1..*–>
<service>
<localID value="sss"/>
<serviceName value="add"/>
<!–实例是否存在–>
<instanceExist value="true/false"/>
<!–1..1(create/excuting/compensating/exutedEnd/compensationEnd/ReturnOK/Error)–>
<currentStauts Value="excuting"/>
<!–1..*–>
<status>
<stautsType value="start"/>
<timeBegin value=""/>
<timeEnd value=""/>
</status>
<parameters value=""/>
<result value="运行结果"/>
<error value=""/>
<instance value="类序列化实例"/>
<!–1..*–>
<service>
</service>
</service>
</localTM>