use of io.seata.core.protocol.transaction.BranchRegisterRequest in project seata by seata.
the class BranchRegisterRequestConvertorTest method convert2Proto.
@Test
public void convert2Proto() {
BranchRegisterRequest branchRegisterRequest = new BranchRegisterRequest();
branchRegisterRequest.setApplicationData("data");
branchRegisterRequest.setBranchType(BranchType.AT);
branchRegisterRequest.setLockKey("localKey");
branchRegisterRequest.setResourceId("resourceId");
branchRegisterRequest.setXid("xid");
BranchRegisterRequestConvertor convertor = new BranchRegisterRequestConvertor();
BranchRegisterRequestProto proto = convertor.convert2Proto(branchRegisterRequest);
BranchRegisterRequest real = convertor.convert2Model(proto);
assertThat(real.getTypeCode()).isEqualTo(branchRegisterRequest.getTypeCode());
assertThat(real.getApplicationData()).isEqualTo(branchRegisterRequest.getApplicationData());
assertThat(real.getXid()).isEqualTo(branchRegisterRequest.getXid());
assertThat(real.getBranchType()).isEqualTo(branchRegisterRequest.getBranchType());
assertThat(real.getLockKey()).isEqualTo(branchRegisterRequest.getLockKey());
assertThat(real.getResourceId()).isEqualTo(branchRegisterRequest.getResourceId());
}
use of io.seata.core.protocol.transaction.BranchRegisterRequest in project seata by seata.
the class BranchRegisterRequestConvertor method convert2Model.
@Override
public BranchRegisterRequest convert2Model(BranchRegisterRequestProto branchRegisterRequestProto) {
BranchRegisterRequest branchRegisterRequest = new BranchRegisterRequest();
branchRegisterRequest.setApplicationData(branchRegisterRequestProto.getApplicationData());
branchRegisterRequest.setBranchType(BranchType.valueOf(branchRegisterRequestProto.getBranchType().name()));
branchRegisterRequest.setLockKey(branchRegisterRequestProto.getLockKey());
branchRegisterRequest.setResourceId(branchRegisterRequestProto.getResourceId());
branchRegisterRequest.setXid(branchRegisterRequestProto.getXid());
return branchRegisterRequest;
}
use of io.seata.core.protocol.transaction.BranchRegisterRequest in project seata by seata.
the class BranchRegisterRequestTest method toStringTest.
/**
* To string test.
*/
@Test
public void toStringTest() {
BranchRegisterRequest branchRegisterRequest = new BranchRegisterRequest();
branchRegisterRequest.setXid("127.0.0.1:8091:1249853");
branchRegisterRequest.setBranchType(BranchType.AT);
branchRegisterRequest.setResourceId("resource1");
branchRegisterRequest.setLockKey("lock_key_1");
Assertions.assertEquals("xid=127.0.0.1:8091:1249853,branchType=AT,resourceId=resource1,lockKey=lock_key_1", branchRegisterRequest.toString());
}
use of io.seata.core.protocol.transaction.BranchRegisterRequest in project seata by seata.
the class AbstractResourceManager method branchRegister.
/**
* registry branch record
*
* @param branchType the branch type
* @param resourceId the resource id
* @param clientId the client id
* @param xid the xid
* @param lockKeys the lock keys
* @return branchId
* @throws TransactionException TransactionException
*/
@Override
public Long branchRegister(BranchType branchType, String resourceId, String clientId, String xid, String applicationData, String lockKeys) throws TransactionException {
try {
BranchRegisterRequest request = new BranchRegisterRequest();
request.setXid(xid);
request.setLockKey(lockKeys);
request.setResourceId(resourceId);
request.setBranchType(branchType);
request.setApplicationData(applicationData);
BranchRegisterResponse response = (BranchRegisterResponse) RmNettyRemotingClient.getInstance().sendSyncRequest(request);
if (response.getResultCode() == ResultCode.Failed) {
throw new RmTransactionException(response.getTransactionExceptionCode(), String.format("Response[ %s ]", response.getMsg()));
}
return response.getBranchId();
} catch (TimeoutException toe) {
throw new RmTransactionException(TransactionExceptionCode.IO, "RPC Timeout", toe);
} catch (RuntimeException rex) {
throw new RmTransactionException(TransactionExceptionCode.BranchRegisterFailed, "Runtime", rex);
}
}
Aggregations