Dubbo直连方式

前置要求: 统一jdk版本,web.xml的版本必须是3.0以上,实体bean类必须实现序列化接口,dubbo只支持序列化的bean对象

测试要求: 必须先启动提供者服务,在启动消费者服务

目录结构:首先创建两个web工程,一个提供者,一个消费者,然后创建一个普通的java工程intaerface

inferface工程:

目录结构:

1、创建实体bean,编写service接口

package com.GLH.dubbo.model;

import java.io.Serializable;

public class User implements Serializable {

    private Integer id;

    private String name;

    private Integer age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }
}

package com.GLH.dubbo.service;

import com.GLH.dubbo.model.User;



public interface UserService {
    /**
     * @return 放回一个字符串
     *
     *
     * */
    String sayHello();


    /**
     * @param id    根据这个值查询对象
    * @return 根据id返回一个user对象
     *
    * */
    User queryUserById(int id);

}

2、 打包到本地maven仓库

提供者peovider:

目录结构

1、编写maven依赖:

导入interface工程的依赖

导入dubbo依赖

导入spring和springmvc依赖

2、编写service实现类

可以使用注解创建bean,扫描包,或者使用配置文件创建bean

package com.GLH.dubbo.service.impl;

import com.GLH.dubbo.model.User;
import com.GLH.dubbo.service.UserService;



public class UserServiceImpl implements UserService {
    @Override
    public String sayHello() {
        return "hello dubbo";
    }

    @Override
    public User queryUserById(int id) {
        User user = new User();
        user.setId(id);
        user.setName("zhang"+id);
        user.setAge(10+id);
        return user;
    }
}

3、编写dubbo配置文件:

存放在类路径下

编写内容:

1、声明dubbo服务提供者的名称,保证其唯一性

2、指定协议和端口,推荐使用dubbo协议端口默认为208880

3、创建实体bean交给spring的ioc容器管理

4、暴露服务接口

属性解析:

interface 依赖接口工程的接口类路径

ref 提供者工程中的实现类bean对象

registry 使用直连的方式连接,值默认为N/A

4、编写web.xml

1、编写context-param 加载dubbo的配置文件

2、编写监听器

消费者工程consumer:

1、编写maven依赖:

导入interface工程的依赖

导入dubbo依赖

导入spring和springmvc依赖

2、编写webcontroller类:

1、调用提供者接口实现类,在webcontroller类中添加userservice属性并添加自动注入注解

2、编写controller平时编写的业务

3、编写springmvc配置文件

1、配置包扫描

2、配置视图解析器

4、编写dubbo配置文件

1、声明服务消费者的名称,保证他的唯一性

2、引用远程调用接口

 

属性解析:

id:为提供者工程spring容器管理的bean

interface:接口工程的接口类路径

registy: 直连方式

url: 调用远程接口服务的url地址

5、编写web.xml配置文件

1、编写dispatchservlet

这里初始化加载文件的时候,要加载dubbo的配置文件和springmvc的配置文件

测试

编写两个tomcat配置启动,注意端口号不能重复

http端口和jmx的端口不能重复

1、启动提供者服务

2、启动消费者服务

3、测试业务是否能够正常访问消费者服务的方法

3、ssm使用注册中心-Zookeeper

项目结构大致一样

dubbo的配置文件做出一点改变就行

提供者:

<!--    声明服务提供者名称,保证其唯一性-->
        <dubbo:application name="zk-provider"/>
<!--配置服务端口-->
        <dubbo:protocol name="dubbo" port="20880"/>
<!--    指定注册中心-->
        <dubbo:registry address="zookeeper://192.168.2.10:2181" check="false"/>
<!--    暴露服务-->
        <dubbo:service interface="com.GLH.dubbo.service.UserService" ref="userService"/>

<!--    创建实体bean-->
        <bean id="userService" class="com.GLH.dubbo.service.impl.UserServiceImpl"/>

消费者

<!--    声明服务消费者名称-->
    <dubbo:application name="zk-consumer"/>
<!--指定注册中心-->
    <dubbo:registry address="zookeeper://192.168.2.10:2181"/>
<!--    引用远程接口服务-->
    <dubbo:reference  id="userService" interface="com.GLH.dubbo.service.UserService"/>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值