执行 client-implement/client-mysql/sql/schema.sql 数据库脚本导入初始化表结构。
分别在consumer和producer服务中加入依赖
<dependency>
<groupId>cn.codeforfun</groupId>
<artifactId>discovery-client-mysql</artifactId>
<version>{version}</version>
</dependency>
application.yml
server:
port: 50021
spring:
application:
name: client-consumer
datasource:
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/codeforfun-discovery
application.yml
server:
port: 50011
spring:
application:
name: client-producer
datasource:
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/codeforfun-discovery
@EnableFeignClients(basePackages = "com.example.feign")
com.example.feign.TestClient.java
@FeignClient("client-producer")
public interface TestClient {
@GetMapping("/test1")
String test1();
}
com.example.test.TestController.java
@RestController
public class TestController {
@Resource
TestClient testClient;
@GetMapping("/test")
public String test() {
return testClient.test1();
}
}
TestController.java
@RestController
public class TestController {
@GetMapping("/test1")
public String test1() {
return "producer client test1";
}
}
分别启动producer和consumer服务,等待程序启动。
访问 http://localhost:50011/test1 后显示 producer client test1 则表示成功。
访问 http://localhost:50021/test 后同样显示 producer client test1 则表示成功。
示例代码在 example 目录下,example-client-producer为被调用方示例代码,example-client-consumer为调用方示例代码。
key | 说明 | 默认值 |
---|---|---|
discovery.service.service-active-interval | 服务激活间隔,单位:秒。 每隔多长时间激活一次自身服务 | 10 |
discovery.service.refresh-service-list-interval | 刷新服务列表间隔,单位:秒。 每隔多长时间刷新一次服务列表 | 20 |
discovery.service.service-active-timeout | 服务激活超时时间,单位:秒。 超过这个时间后该服务就会被认为是有故障的,之后就不会调用这个服务 | 60 |
discovery.service.name | 服务名,如果没设置的话会取(spring.application.name)的值,如果都没有则报错 | |
discovery.service.port | 服务端口,如果没设置的话会取(server.port)的值,如果还是没有则默认8080 | 8080 |
discovery.service.host | 服务地址,如果没设置会取本地ip | 本地ip |
由于MySQL是使用 mysql-connector-java 和 spring-boot-starter-jdbc 实现的,所以配置项也是直接继承这两个。没用过的话,正常配置数据源就行了。
由于ElasticSearch是使用 spring-boot-starter-data-elasticsearch 实现的,所以配置项也是直接继承下来的。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。