体验JBOOT(三)--RPC篇

目录:html

  1. 体验JBOOT(一)-- Hello, Jboot
  2. 体验JBOOT(二)--数据库篇
  3. 体验JBOOT(三)--RPC篇
  4. 体验JBOOT(四)-- jboot-admin 篇

 

  1. https://www.consul.io 下载 consul,解压到某个目录下java

  2. 在命令行下进入consul 的目录,启动 consul:consul agent –dev 
    mysql

  3. 回到ideal,在原项目基础上,修改jboot.properties,增长RPC的配置参数:
     web

    jboot.datasource.type=mysql
    jboot.datasource.url=jdbc:mysql://127.0.0.1/demo?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull
    jboot.datasource.user=demo
    jboot.datasource.password=demo
    
    jboot.rpc.type=motan
    jboot.rpc.registryType=consul
    jboot.rpc.registryAddress=127.0.0.1:8500

     

  4. 增长接口包,并生成jar公共包文件。以下图:






     sql

    package io.jboot.hello.service;
    
    import com.jfinal.plugin.activerecord.Record;
    
    import java.util.List;
    
    /**
     * Created by Tom on 2018/3/13.
     */
    public interface HelloService {
        public List<Record> getUsers();
    }




  5. 生成公共的接口文件包后,新增依赖公共接口包,并添加实现接口的代码。以下:





     数据库

    package io.jboot.hello.impl;
    
    import com.jfinal.plugin.activerecord.Db;
    import com.jfinal.plugin.activerecord.Record;
    import io.jboot.core.rpc.annotation.JbootrpcService;
    import io.jboot.hello.service.HelloService;
    
    import java.util.List;
    
    /**
     * Created by Tom on 2018/3/13.
     */
    @JbootrpcService
    public class HelloServiceImpl implements HelloService {
        public List<Record> getUsers() {
            return Db.find("select * from user");
        }
    }


  6. 在客户端添加调用代码,如:
     bash

    package io.jboot.hello;
    
    import com.jfinal.plugin.activerecord.Db;
    import com.jfinal.plugin.activerecord.Record;
    import io.jboot.Jboot;
    import io.jboot.core.rpc.annotation.JbootrpcService;
    import io.jboot.hello.service.HelloService;
    import io.jboot.web.controller.JbootController;
    import io.jboot.web.controller.annotation.RequestMapping;
    
    import java.util.List;
    
    /**
     * Created by Tom on 2018/3/13.
     */
    @RequestMapping("/")
    public class HelloController extends JbootController {
        @JbootrpcService
        HelloService service ;
    
        public void index(){
            List<Record> users = service.getUsers();
            setAttr("users", users);
            render("index.html");
        }
    
        public static void main(String[] args){
            Jboot.run(args);
        }
    }


  7. 再运行,发现能正常获取到数据;查看consul 控制台,能够发现有相关的RPC注册、同步信息app

  8. 注意,默认状况下,上面的consul启动命令,只能经过 127.0.0.1 访问。若是要经过局域网IP进行访问,必须用以下命令启动 consul:
     ide

    consul agent -dev -client=192.168.1.6

    其中,client的IP为consul所在的电脑的局域网IP。这时,配置文件对应的地方改成:
     url

    jboot.rpc.registryAddress=192.168.1.6:8500
相关文章
相关标签/搜索