package com.hqyg.disjob.rpc.support; import com.hqyg.disjob.common.exception.TransportException; import com.hqyg.disjob.common.util.LoggerUtil; import com.hqyg.disjob.quence.CallableCommand; import com.hqyg.disjob.rpc.client.proxy.Channel; import com.hqyg.disjob.rpc.codec.Response; import com.hqyg.disjob.rpc.codec.RpcRequest; import com.hqyg.disjob.rpc.codec.RpcResponse; public class RpcCallable extends CallableCommand<Response> { private Channel nettyChannel; private RpcRequest request; public RpcCallable( Channel nettyChannel,RpcRequest request){ this.nettyChannel = nettyChannel; this.request = request; } @Override public Response execute(){ RpcResponse response = new RpcResponse(); try { return nettyChannel.request(request); } catch (TransportException e) { response.setRequestId(request.getData().getRequestId()); response.setException(e.getMessage()); LoggerUtil.error(e.getMessage()); } return response ; } }