本文使用maven方式
1:pom文件
<dependencies> <!-- 引入spring的jar --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.0.2.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.0.2.RELEASE</version> </dependency> <!-- 引入zk --> <dependency> <groupId>com.101tec</groupId> <artifactId>zkclient</artifactId> <version>0.3</version> </dependency> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.5</version> </dependency> <!-- 引入dubbo --> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.5.7</version> <scope>compile</scope> <exclusions> <exclusion> <artifactId>spring</artifactId> <groupId>org.springframework</groupId> </exclusion> </exclusions> </dependency> </dependencies>
2:服务端
//服务端的代码 public class dubboServer { public static void main(String[] args) throws IOException { initServer(); } public static void initServer() throws IOException { //设置应用名称 ApplicationConfig config = new ApplicationConfig(); config.setName("dubboAppServer"); //连接注册中心 RegistryConfig registryConfig = new RegistryConfig(); registryConfig.setAddress("192.168.30.128:2181"); //本地虚拟机的地址 registryConfig.setProtocol("zookeeper"); //设置协议 ProtocolConfig protocolConfigRmi = new ProtocolConfig(); protocolConfigRmi.setPort(12880); protocolConfigRmi.setName("rmi"); //设置rmi的协议 ProtocolConfig protocolConfigdubbo = new ProtocolConfig(); protocolConfigdubbo.setPort(12881); protocolConfigdubbo.setName("dubbo"); //设置dubbo的协议 //服务提供者暴露服务 ServiceConfig<OrderService> serviceServiceConfig = new ServiceConfig<OrderService>(); serviceServiceConfig.setApplication(config); //设置应用名称 serviceServiceConfig.setRegistry(registryConfig); //设置注册中心 serviceServiceConfig. setProtocols(Arrays.asList(protocolConfigRmi,protocolConfigdubbo)); //设置两个协议 serviceServiceConfig.setInterface(OrderService.class); //设置接口 serviceServiceConfig.setRef(new OrderServiceImpl()); //设置具体实现类 serviceServiceConfig.export(); //暴露和注册服务 system.in.read(); }
3:消费端
//消费端代码 public class dubboConsumer { public static void main(String[] args) { initConsumer(); } public static void initConsumer(){ //设置应用名称 ApplicationConfig config = new ApplicationConfig(); config.setName("dubboAppConsumer"); //连接注册中心 RegistryConfig registryConfig = new RegistryConfig(); registryConfig.setAddress("192.168.30.128:2181"); //本地虚拟机的地址 registryConfig.setProtocol("zookeeper"); ReferenceConfig<OrderService> referenceConfig = new ReferenceConfig<OrderService>(); referenceConfig.setApplication(config); referenceConfig.setRegistry(registryConfig); referenceConfig.setInterface(OrderService.class); referenceConfig.setProtocol("dubbo"); OrderService order = referenceConfig.get(); Integer num = order.buyShop(); //具体的调用 referenceConfig.destroy(); System.out.println(num); }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。