目录:html
到 https://www.consul.io 下载 consul,解压到某个目录下java
在命令行下进入consul 的目录,启动 consul:consul agent –dev
mysql
回到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
增长接口包,并生成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(); }
生成公共的接口文件包后,新增依赖公共接口包,并添加实现接口的代码。以下:
数据库
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"); } }
在客户端添加调用代码,如:
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); } }
再运行,发现能正常获取到数据;查看consul 控制台,能够发现有相关的RPC注册、同步信息app
注意,默认状况下,上面的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