标签:服务中心 gif hessian 地址 通过 sub mamicode 步骤 关闭
默认check=true
dubbo:reference check=“false” 关闭某个服务的启动时检查:(没有提供者时报错)
dubbo:consumer check=“false” 关闭所有服务的启动时检查:(没有提供者时报错) 写在定义服务消费者一方
dubbo:registry check=“false” 关闭注册中心启动时检查:(注册订阅失败时报错)
1.dubbo支持的协议(本身支持多协议): dubbo、RMI、hessian、webservice、http、Thrift
2.hessian演示:
服务端改造
1.1>引入jar包
<dependency> <groupId>com.caucho</groupId> <artifactId>hessian</artifactId> <version>4.0.38</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> </dependency> <dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty</artifactId> <version>6.1.26</version> </dependency>
1.2>修改provider.xml
1.3>指定service服务的协议版本号
消费端改造
2.1>配置:
服务端配置改造:
服务端配置改造:
客户端调用的时候配置:
async="true"表示接口异步返回
hessian协议,使用async异步回调会报错
配置:
provider://10.0.1.183:20880/com.karat.cn.order_api.IOrderServices
1 if (NetUtils.isInvalidLocalHost(host)) { 2 anyhost = true; 3 try { 4 host = InetAddress.getLocalHost().getHostAddress(); 5 } catch (UnknownHostException e) { 6 logger.warn(e.getMessage(), e); 7 } 8 if (NetUtils.isInvalidLocalHost(host)) { 9 if (registryURLs != null && registryURLs.size() > 0) { 10 for (URL registryURL : registryURLs) { 11 try { 12 Socket socket = new Socket(); 13 try { 14 SocketAddress addr = new InetSocketAddress(registryURL.getHost(), registryURL.getPort()); 15 socket.connect(addr, 1000); 16 host = socket.getLocalAddress().getHostAddress(); 17 break; 18 } finally { 19 try { 20 socket.close(); 21 } catch (Throwable e) {} 22 } 23 } catch (Exception e) { 24 logger.warn(e.getMessage(), e); 25 } 26 } 27 } 28 if (NetUtils.isInvalidLocalHost(host)) { 29 host = NetUtils.getLocalHost(); 30 } 31 }
主机绑定实现步骤:
1.通过<dubbo:protocol host配置的地址去找
2.host = InetAddress.getLocalHost().getHostAddress();
3.通过socket发起连接连接到注册中心的地址。再获取连接过去以后本地的ip地址
4.host = NetUtils.getLocalHost();
当前服务正在开发,不能提供服务给其它消费端使用,但是自己还得作为消费端使用其它服务,
那么自己服务就不注册到注册中心,但是还连接到服务中心去调其它服务,不去影响其它服务
配置:
只提供服务,不去调用其它服务
配置:
<dubbo:registry subscribe="false"/>
标签:服务中心 gif hessian 地址 通过 sub mamicode 步骤 关闭
原文地址:https://www.cnblogs.com/LJing21/p/10571042.html