Dubbo环境搭建之二 创建服务
来源:互联网 发布:大数据毕业设计题目 编辑:程序博客网 时间:2024/06/07 14:01
前提条件 Dubbo环境搭建之一环境准备
新建Maven项目
下一步输入你定义的group id与artifact id
GroupID是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。ArtifactID就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。
修改pom.xml
增加以下依赖
<!-- dubbo --> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.5.3</version></dependency><!-- zookepper --><dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.3.6</version> <exclusions> <exclusion> <artifactId>jmxri</artifactId> <groupId>com.sun.jmx</groupId> </exclusion> <exclusion> <artifactId>jms</artifactId> <groupId>javax.jms</groupId> </exclusion> <exclusion> <artifactId>jmxtools</artifactId> <groupId>com.sun.jdmk</groupId> </exclusion> </exclusions></dependency><dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version></dependency><!-- zookeeper客户端 --><dependency> <groupId>com.github.sgroschupf</groupId> <artifactId>zkclient</artifactId> <version>0.1</version></dependency>
写一个接口与实现
package com.erlizhinian.demo;public interface DemoService { String sayHello(String name2);}
package com.erlizhinian.demo.provider;import java.util.Random;import com.erlizhinian.demo.DemoService;public class DemoServiceImpl implements DemoService { public String sayHello(String name) { //打印当前线程id,可以验证后面伪集群的负载均衡调度.先按照这样写. try { Thread.sleep(new Random().nextInt(500)); System.out.println(Thread.currentThread().getId() + "----"+ name); } catch (InterruptedException e) { e.printStackTrace(); } return "Hello " + name; }}
配置
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"> <!-- 提供方应用信息,用于计算依赖关系 --> <dubbo:application name="hello-world-app" /> <!-- 使用multicast广播注册中心暴露服务地址 --> <dubbo:registry address="zookeeper://127.0.0.1:2181" /> <!-- 用dubbo协议在20880端口暴露服务 <dubbo:protocol name="dubbo" port="20882" /> <dubbo:protocol name="http" port="20882" /> --> <dubbo:protocol name="dubbo" /> <!-- 为了实现单进程多线程启动多个dubbo服务,方便测试,使用不同的端口--> <bean id="dynamicDubboPortReaderDao" class="com.erlizhinian.config.dubbo.DynamicDubboPortReaderImpl" init-method="init" /> <!-- 声明需要暴露的服务接口 --> <dubbo:service interface="com.erlizhinian.demo.DemoService" ref="demoService" cluster="failsafe" loadbalance="random" /> <!-- 和本地bean一样实现服务 --> <bean id="demoService" class="com.erlizhinian.demo.provider.DemoServiceImpl" /> <dubbo:monitor protocol="registry"/> </beans>
启动入口
package com.erlizhinian.main;import org.springframework.context.support.ClassPathXmlApplicationContext;public class Provider { public static void main(String[] args) throws Exception { for(int i = 0 ; i < 5;i++){ ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"classpath:provider.xml"}); context.start(); } System.in.read(); // 按任意键退出 }}
整体结构
0 0
- Dubbo环境搭建之二 创建服务
- Dubbo环境搭建之二 调用者
- Docker下dubbo开发,三部曲之二:本地环境搭建
- 分布式服务框架DUBBO(二)搭建dubbo服务-zookeeper与dubbo-admin的安装
- Dubbo服务环境搭建以及Dubbo服务的提供者和消费者配置详解
- Dubbo服务环境搭建以及Dubbo服务的提供者和消费者配置详解
- dubbo服务搭建教程
- dubbo 创建服务代理
- spring+springMVC+mybatis +dubbo架构的开发环境搭建(二)
- dubbo应用程序的单元测试环境搭建(springtest,powermock,mockito)(二)
- dubbo环境搭建
- dubbo 环境搭建
- dubbo简单环境搭建
- 搭建dubbo测试环境
- 搭建dubbo测试环境
- 轻松搭建dubbo环境
- 搭建dubbo测试环境
- DUBBO环境搭建
- 浅谈归纳偏置
- css 规范
- CSS基础知识之position
- 关于C语言一些不起眼的小错误
- 广度优先算法BFS
- Dubbo环境搭建之二 创建服务
- HDOJ(HDU) 1465 不容易系列之一(错排)
- Linux下结束某进程
- Spring AOP 实现原理
- 机器学习(五)--- FTRL一路走来,从LR -> SGD -> TG -> FOBOS -> RDA -> FTRL
- 郑轻校赛题解
- Git鼓励大量使用分支
- Spring AOP 完成日志记录
- Socket异步通信——使用SocketAsyncEventArgs