@Override public Boolean saveTxTransactionGroup(final TxTransactionGroup txTransactionGroup) { HeartBeat heartBeat = new HeartBeat(); heartBeat.setAction(NettyMessageActionEnum.CREATE_GROUP.getCode()); heartBeat.setTxTransactionGroup(txTransactionGroup); final Object object = nettyClientMessageHandler.sendTxManagerMessage(heartBeat); if (Objects.nonNull(object)) { return (Boolean) object; } return false; }
@Override public Boolean addTxTransaction(final String txGroupId, final TxTransactionItem txTransactionItem) { HeartBeat heartBeat = new HeartBeat(); heartBeat.setAction(NettyMessageActionEnum.ADD_TRANSACTION.getCode()); TxTransactionGroup txTransactionGroup = new TxTransactionGroup(); txTransactionGroup.setId(txGroupId); txTransactionGroup.setItemList(Collections.singletonList(txTransactionItem)); heartBeat.setTxTransactionGroup(txTransactionGroup); final Object object = nettyClientMessageHandler.sendTxManagerMessage(heartBeat); if (Objects.nonNull(object)) { return (Boolean) object; } return false; }
@Override public TxTransactionGroup findByTxGroupId(final String txGroupId) { HeartBeat heartBeat = new HeartBeat(); heartBeat.setAction(NettyMessageActionEnum.FIND_TRANSACTION_GROUP_INFO.getCode()); TxTransactionGroup txTransactionGroup = new TxTransactionGroup(); txTransactionGroup.setId(txGroupId); heartBeat.setTxTransactionGroup(txTransactionGroup); final Object object = nettyClientMessageHandler.sendTxManagerMessage(heartBeat); if (Objects.nonNull(object)) { return (TxTransactionGroup) object; } return null; }
@Override public int findTransactionGroupStatus(final String txGroupId) { HeartBeat heartBeat = new HeartBeat(); heartBeat.setAction(NettyMessageActionEnum.GET_TRANSACTION_GROUP_STATUS.getCode()); TxTransactionGroup txTransactionGroup = new TxTransactionGroup(); txTransactionGroup.setId(txGroupId); heartBeat.setTxTransactionGroup(txTransactionGroup); final Object object = nettyClientMessageHandler.sendTxManagerMessage(heartBeat); if (Objects.nonNull(object)) { return (Integer) object; } return TransactionStatusEnum.ROLLBACK.getCode(); }
@Override public Boolean preCommitTxTransaction(final String txGroupId) { HeartBeat heartBeat = new HeartBeat(); heartBeat.setAction(NettyMessageActionEnum.PRE_COMMIT.getCode()); TxTransactionGroup txTransactionGroup = new TxTransactionGroup(); txTransactionGroup.setStatus(TransactionStatusEnum.PRE_COMMIT.getCode()); txTransactionGroup.setId(txGroupId); heartBeat.setTxTransactionGroup(txTransactionGroup); final Object object = nettyClientMessageHandler.sendTxManagerMessage(heartBeat); if (Objects.nonNull(object)) { return (Boolean) object; } return false; }
@Override public Boolean completeCommitTxTransaction(final String txGroupId, final String taskKey, final int status) { HeartBeat heartBeat = new HeartBeat(); heartBeat.setAction(NettyMessageActionEnum.COMPLETE_COMMIT.getCode()); TxTransactionGroup txTransactionGroup = new TxTransactionGroup(); txTransactionGroup.setId(txGroupId); TxTransactionItem item = new TxTransactionItem(); item.setTaskKey(taskKey); item.setStatus(status); txTransactionGroup.setItemList(Collections.singletonList(item)); heartBeat.setTxTransactionGroup(txTransactionGroup); final Object object = nettyClientMessageHandler.sendTxManagerMessage(heartBeat); if (Objects.nonNull(object)) { return (Boolean) object; } return false; }
private HeartBeat buildSendMessage(final String key, final Boolean success) { HeartBeat heartBeat = new HeartBeat(); heartBeat.setKey(key); heartBeat.setAction(NettyMessageActionEnum.RECEIVE.getCode()); if (success) { heartBeat.setResult(NettyResultEnum.SUCCESS.getCode()); } else { heartBeat.setResult(NettyResultEnum.FAIL.getCode()); } return heartBeat; }
@Override public void rollBackTxTransaction(final String txGroupId) { HeartBeat heartBeat = new HeartBeat(); heartBeat.setAction(NettyMessageActionEnum.ROLLBACK.getCode()); TxTransactionGroup txTransactionGroup = new TxTransactionGroup(); txTransactionGroup.setStatus(TransactionStatusEnum.ROLLBACK.getCode()); txTransactionGroup.setId(txGroupId); heartBeat.setTxTransactionGroup(txTransactionGroup); nettyClientMessageHandler.sendTxManagerMessage(heartBeat); }
@Override public void asyncCompleteCommit(final String txGroupId, final String taskKey, final int status, final Object message) { HeartBeat heartBeat = new HeartBeat(); heartBeat.setAction(NettyMessageActionEnum.COMPLETE_COMMIT.getCode()); TxTransactionGroup txTransactionGroup = new TxTransactionGroup(); txTransactionGroup.setId(txGroupId); TxTransactionItem item = new TxTransactionItem(); item.setTaskKey(taskKey); item.setStatus(status); item.setMessage(message); txTransactionGroup.setItemList(Collections.singletonList(item)); heartBeat.setTxTransactionGroup(txTransactionGroup); nettyClientMessageHandler.asyncSendTxManagerMessage(heartBeat); }
public static HeartBeat buildMessage(final TxTransactionItem item, final ChannelSender channelSender, final TransactionStatusEnum transactionStatusEnum) { HeartBeat heartBeat = new HeartBeat(); Channel channel = SocketManager.getInstance().getChannelByModelName(item.getModelName()); if (Objects.nonNull(channel)) { if (channel.isActive()) { channelSender.setChannel(channel); } } TxTransactionGroup txTransactionGroup = new TxTransactionGroup(); if (TransactionStatusEnum.ROLLBACK.getCode() == transactionStatusEnum.getCode()) { heartBeat.setAction(NettyMessageActionEnum.ROLLBACK.getCode()); item.setStatus(TransactionStatusEnum.ROLLBACK.getCode()); txTransactionGroup.setStatus(TransactionStatusEnum.ROLLBACK.getCode()); } else if (TransactionStatusEnum.COMMIT.getCode() == transactionStatusEnum.getCode()) { heartBeat.setAction(NettyMessageActionEnum.COMPLETE_COMMIT.getCode()); item.setStatus(TransactionStatusEnum.COMMIT.getCode()); txTransactionGroup.setStatus(TransactionStatusEnum.COMMIT.getCode()); } txTransactionGroup.setItemList(Collections.singletonList(item)); heartBeat.setTxTransactionGroup(txTransactionGroup); return heartBeat; } }