Search in sources :

Example 6 with BranchRegisterRequest

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());
}
Also used : BranchRegisterRequestProto(io.seata.serializer.protobuf.generated.BranchRegisterRequestProto) BranchRegisterRequest(io.seata.core.protocol.transaction.BranchRegisterRequest) Test(org.junit.jupiter.api.Test)

Example 7 with BranchRegisterRequest

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;
}
Also used : BranchRegisterRequest(io.seata.core.protocol.transaction.BranchRegisterRequest)

Example 8 with 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());
}
Also used : BranchRegisterRequest(io.seata.core.protocol.transaction.BranchRegisterRequest) Test(org.junit.jupiter.api.Test)

Example 9 with BranchRegisterRequest

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);
    }
}
Also used : BranchRegisterResponse(io.seata.core.protocol.transaction.BranchRegisterResponse) RmTransactionException(io.seata.core.exception.RmTransactionException) BranchRegisterRequest(io.seata.core.protocol.transaction.BranchRegisterRequest) TimeoutException(java.util.concurrent.TimeoutException)

Aggregations

BranchRegisterRequest (io.seata.core.protocol.transaction.BranchRegisterRequest)9 Test (org.junit.jupiter.api.Test)4 BranchRegisterResponse (io.seata.core.protocol.transaction.BranchRegisterResponse)3 Channel (io.netty.channel.Channel)1 StoreException (io.seata.common.exception.StoreException)1 RmTransactionException (io.seata.core.exception.RmTransactionException)1 TransactionException (io.seata.core.exception.TransactionException)1 BranchType (io.seata.core.model.BranchType)1 BranchRegisterRequestProto (io.seata.serializer.protobuf.generated.BranchRegisterRequestProto)1 DefaultCoordinator (io.seata.server.coordinator.DefaultCoordinator)1 Method (java.lang.reflect.Method)1 TimeoutException (java.util.concurrent.TimeoutException)1