public class Main {
static ApplicationConfig ac = null;
static RegistryConfig rc = null;
static PrestoManagerService managerService;
static {
try {
ac = new ApplicationConfig();
ac.setName("Test");//应用名字
rc = new RegistryConfig();
rc.setAddress("zookeeper://10.210.72.177:2181?backup=10.210.72.178:2181,10.210.72.179:2181");//zookeeper注册中心地址
rc.setProtocol("zookeeper");//协议
managerService = getProvider(PrestoManagerService.class, "");
} catch (Exception e) {
e.printStackTrace();
}
}
private static <T> T getProvider(Class<T> c, String group) {
ReferenceConfig<T> rcc = new ReferenceConfig<T>();
rcc.setTimeout(50000);
rcc.setRegistry(rc);
rcc.setApplication(ac);
rcc.setCheck(false);
rcc.setInterface(c);
rcc.setGroup(group);
return rcc.get();
}
// 调用方法
public static void excute(String sql) {
System.out.println("sql : " + sql);
long t0 = System.currentTimeMillis();
//根据接口的字节码和服务的group获得接口引用(此处是dubbo通过你传入的参数 使用动态代理 返回给你接口的引用)
Map<String, Object> sqlData = managerService.getSqlData(sql);
long t1 = System.currentTimeMillis();
System.out.println(sqlData.get("data").toString());
System.out.println("时间/ms:" + (t1 - t0));
}
public static void main(String[] args) {
excute(“”);
}
}
普通maven工程 引用dubbo
最新推荐文章于 2022-08-14 06:39:48 发布