基于dubbo改造现有http调用项目

薄洪涛2年前JAVA5528

使用zooker作为注册中心,将现有通过http调用的项目改造成dubbo调用

公共项目

规定接口
public interface OrderService {
    public String getOrderId();
}

服务提供者

配置
dubbo.application.name=provider-application
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880

dubbo.registry.address=zookeeper://127.0.0.1:2181
maven
<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-spring-boot-starter</artifactId>
    <version>3.0.7</version>
</dependency>

<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-rpc-dubbo</artifactId>
    <version>3.0.7</version>
</dependency>

<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-registry-zookeeper</artifactId>
    <version>3.0.7</version>
</dependency>
启动类
@SpringBootApplication
@EnableDubbo
public class ProviderApplication {

	public static void main(String[] args) {
		SpringApplication.run(ProviderApplication.class, args);
	}

}
实现类
@DubboService
public class OrderServiceImpl implements OrderService {

    /**
     * 获取orderid
     * @return String
     */
    public String getOrderId() {
        return "boht";
    }
}

消费者

配置
dubbo.application.name=consumer-application
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880

dubbo.registry.address=zookeeper://127.0.0.1:2181
maven
<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-spring-boot-starter</artifactId>
    <version>3.0.7</version>
</dependency>

<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-rpc-dubbo</artifactId>
    <version>3.0.7</version>
</dependency>

<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-registry-zookeeper</artifactId>
    <version>3.0.7</version>
</dependency>
启动类
@SpringBootApplication
@EnableDubbo
public class ConsumerApplication {
	public static void main(String[] args) {
		SpringApplication.run(ConsumerApplication.class, args);
	}
}
实现类
import com.boht.common.OrderService;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.stereotype.Service;

@Service
public class UserService {

    @DubboReference
    private OrderService orderService;

    /**
     * 获取orderid
     * @return String
     */
    public String getOrderId() {
        return orderService.getOrderId();
    }
}


标签: dubbozookeeper

相关文章

centos安装java环境

centos安装java环境

很多工具(比如Lucene )都要依赖java环境,所以我在服务器上装了一个jdk,然后在这篇文章中记录下安装的步骤;当我们修改程序并通过SVN上传到服务器后环境:  &...

spring循环依赖

spring循环依赖

什么是循环依赖? 很简单,就是A对象依赖了B对象,B对象依赖了A对象在Spring中,⼀个对象并不是简单new出来了,⽽是会经过⼀系列的Bean的⽣命周期,就是因为 Bean的⽣命周期所以才会出现循环...

spring AOP概念及应用场景

spring AOP概念及应用场景

概念面向切面编程,通过预编译和运行期间动态代理实现在不修改源代码的情况下给程序动态统一添加功能的技术思想就是把很多类中对象中横切问题点,从业务逻辑中分离出来,达到解耦的目的,增加代码的重用性,提高开发...

Ebean报错is not enhanced?

Ebean报错is not enhanced?

使用ebean的时候,会提示某个类没有enhanced,这里我们在idea中安装对应的plugin就可以了(需要看你的gradle的ebean版本)我的版本配置如下classpath("io...

jenkins部署maven项目

1. 环境配置jenkins安装 Maven Integration plugin插件配置maven,java等路径2. 2.新建item,选择构建maven项目a. 2.1 源码管理填入git地址、...

设计模式之策略模式

在开始之前,我们先看一下一个令人不爽的写法if ($k == 0) {   // do something } ...

评论列表

bbt
2023-07-28 16:52:54

打赏sa

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。