
com.weicoder.rpc.sofa.Sofas Maven / Gradle / Ivy
package com.weicoder.rpc.sofa;
import java.net.InetSocketAddress;
import com.weicoder.rpc.params.RpcParams;
import com.weicoder.common.util.StringUtil;
/**
* rpc客户端
*
* @author wudi
*/
public final class Sofas {
/**
* 根据rpc接口生成相关代理类 执行rpc调用操作
*
* @param
* @param rpc rpc类
* @param addr 远程地址
* @return rpc客户端代理类
*/
public static E client(Class rpc, InetSocketAddress addr) {
return sofa(rpc, addr);
}
/**
* 根据sofa rpc接口返回客户端
*
* @param cls rpc接口
* @param addr 远程地址
* @return client
*/
public static E sofa(Class cls, InetSocketAddress addr) {
return sofa(cls, addr.getAddress().getHostAddress(), addr.getPort());
}
/**
* 根据sofa rpc接口返回客户端
*
* @param client
* @param cls rpc接口
* @return client
*/
public static E sofa(Class cls, String host, int port) {
// 生成消费配置
return new com.alipay.sofa.rpc.config.ConsumerConfig().setInterfaceId(cls.getName()) // 指定接口
.setProtocol(RpcParams.PROTOCOL) // 指定协议
.setDirectUrl(StringUtil.add(RpcParams.PROTOCOL, "://", host, ":", port + 1))// 指定地址
.refer();
}
private Sofas() {
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy