體驗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
相關文章
相關標籤/搜索