小工具      在线工具  汉语词典  css  js  c++  java

Spring 集成 Dubbo服务(包含服务提供方和消费房)

Java 额外说明

收录于:43天前

1、参考我上面的博客,在本机上搭建并启动Zookeeper服务。

启动动物园管理员:

cd /Users/sunww/Documents/JAVA/Dubbo/zookeeper-3.4.12/bin/

启动命令 ./zkServer.sh start 关闭命令 ./zkServer.sh stop

2. Spring项目配置Dubbo服务(如下pom.xml)

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.LJSpring</groupId>
  <artifactId>LJSpring</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>LJSpring Maven Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>

    <java.version>1.8</java.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

    <!--lib setting-->
    <spring.version>4.3.3.RELEASE</spring.version>
    <!--<spring.version>3.2.3.RELEASE</spring.version>-->
    <jackson.version>2.6.3</jackson.version>

  </properties>

  <dependencies>


    <!--spring依赖-->
    <!--1)核心依赖-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
      <version>${spring.version}</version>
    </dependency>


    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>

    <!-- dubbo -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>dubbo</artifactId>
      <version>2.5.3</version>
      <exclusions>
        <exclusion>
          <artifactId>spring</artifactId>
          <groupId>org.springframework</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.zookeeper</groupId>
      <artifactId>zookeeper</artifactId>
      <version>3.4.6</version>
      <type>pom</type>
    </dependency>
    <dependency>
      <groupId>com.101tec</groupId>
      <artifactId>zkclient</artifactId>
      <version>0.4</version>
    </dependency>
  </dependencies>

  <build>
    <finalName>LJSpring</finalName>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.2.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

三:项目论证

1.服务启动成功

2.消费服务成功(在浏览器中输入 http://localhost:8080/test/getLoginfo  )

这里调用服务提供者提供的dubbo接口ProviderServiceDemo,然后可以看到下面成功打印了消费信息

3.在tomcat下运行可视化dubbo服务平台,可以看到服务提供者和消费者信息。

tomcat 启动
cd /usr/local/tomcat/bin   sh startup.sh
登录dubbo-admin管理系统  http://localhost:9001/dubbo-admin/ 

用户名:root 密码:root

附录

服务提供者 spring-dubboProvider.xml 配置

<?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-admin 或 dubbo-monitor 会显示这个名字,方便识别 -->
    <dubbo:application name="admin-provider" owner="admin" organization="dubbox"/>
    <!-- 使用zookeeper 注册中心暴露服务,注意要先开启 zookeeper -->
    <!--<dubbo:registry address="zookeeper://127.0.0.1:2181"/>-->

    <dubbo:registry address="zookeeper://10.50.62.53:2181"/>
    <!-- 用dubbo协议在20880端口暴露服务 -->
    <dubbo:protocol name="dubbo" port="20880"/>

    <!-- 用dubbo 协议实现定义好的 api 接口 -->
    <dubbo:service interface="com.lujing.dubbo.ProviderServiceDemo" ref="providerService" protocol="dubbo"/>
    <!-- 具体实现接口的bean -->
    <bean id="providerService" class="com.lujing.dubbo.ProviderServiceDemoImpl"/>

</beans>

消费者 spring-dubboConsumer.xml 配置

<?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-2.5.xsd
	http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
	
	
	 <!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 -->
    <dubbo:application name="consumer-of-helloworld-app"  />
 
    <!-- 使用multicast广播注册中心暴露发现服务地址 -->
   <!--  <dubbo:registry address="multicast://224.5.6.7:1234" /> -->
   
   <!-- 使用Linux服务器上的Zookeeper -->
   <!-- <dubbo:registry address="zookeeper://192.168.125.100:2181" />  -->
   
    <!--  使用本机的Zookeeper(Windows)-->
  	<dubbo:registry address="zookeeper://127.0.0.1:2181" /> 
  
    <!-- 生成远程服务代理,可以和本地bean一样使用demoService -->
    <dubbo:reference id="demoService" interface="com.lujing.dubbo.ProviderServiceDemo" />
     
</beans>

参考:https://blog.csdn.net/BeauXie/article/details/74942016

. . .

相关推荐

额外说明

clickhouse中创建MySQL引擎

MySQL | ClickHouse Docs MySQL引擎用于将远程的MySQL服务器中的表映射到ClickHouse中,并允许您对表进行INSERT和SELECT查询,以方便您在ClickHouse与MySQL之间进行数据交换 MySQL数据库引擎

额外说明

Java8种Stream流相关操作——集合的筛选、归约、分组、聚合

过滤、筛选   filter skip /** * 过滤 筛选 */ @Test public void test2(){ List<String> list = Arrays.asList("aaa

额外说明

java.io.IOException: The temporary upload location [C:\Users\...\ROOT] is not valid

错误如下:   在做一个文件上传到七牛云时,出了这个异常,tomcat在启动的时候会生成一个临时的上传文件保存的位置,但是这个位子默认是放在系统的临时文件夹中,因为之前有配置文件上传路径local,导致路径无效。最终用第二个方案。  方法一: 把路径补全

额外说明

使用MQ的三大场景

1 解藕 场景 方案 一个系统或者一个模块,调用了多个系统或者模块,互相之间的调用很复杂,维护起来很麻烦。但是其实这个调用是不需要直接同步调用接口的,这时可以考虑使用MQ异步化解耦 比如A系统要给BCDEF多个系统发消息,使用MQ后,将消息发到消息服务器

额外说明

批量打印之jquery局部打印和smsx.cab打印联合使用

前面之所以讲Jquery的打印和smsx.cab打印,是因为最近用的项目里边需要把两个都结合起来才能实现效果。   基本业务是这样子的:同时打印多个人的简历,要求每个人的打5份,自动打印,且有进度条显示。   为什么需要用到两种打印方式:既然是自动打印就

额外说明

leetcode538(将二叉搜索树转换为累积树:二叉树的中序遍历)

给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。 例: 输入: [5,2,13,null,4] 输出: [18,24,13,null,2

额外说明

【前端】JavaScript详细教程(二)

❤️JavaScript必备知识详解❤️ 第一部分:JS操作符 (1)JS操作符的分类: 效果展示: (2)JS操作符的注意点: 效果展示: 第二部分:流程控制 效果展示: 第三部分:循环 效果展示: 第四部分:字符串方法 效果展示: 第五部分:数组方法

额外说明

C语言实现:猴子吃桃问题

C语言实现:猴子吃桃问题 文章目录 C语言实现:猴子吃桃问题 1. 问题 2. 解决方案 3. 实现代码 4. 执行结果 5. 解决方法说明——穷举法 1. 问题 猴子吃桃问题:有一只猴子第一天摘下若干个桃子,当即吃掉了一半,又多吃了一个;第二天又将剩下

额外说明

[42000][1064] You have an error in your SQL syntax; IDEA连接数据库测SQL时报异常

1.背景:IDEA连上数据库时后测试SQL。     然后使用IDEA检测SQL编写工具出现的异常。 2.可能的情况:     你的SQL写的有问题     占位符如果是字符串  没有加双引号或单引号   3.如何使用IDEA  检测SQL是否编写正确:

额外说明

https证书相关概念

关于SSL和HTTPS 的介绍可以参考: SSL/TLS 以及HTTPS 介绍 安全的站点 在Chrome浏览器访问https 的站点的时候,如果是安全的网站,则在地址栏前方有一个灰色的小锁, 如下图: 如果是不安全的站点, 则地址栏前方有不安全的警告,

ads via 小工具