本文主要是介绍Spring Cloud(Finchley.RCI) (三) Spring Cloud创建服务提供者,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
当Client向Server注册时, 它会提供一些元数据, 例如主机和端口, URL, 主页等。Eureka Server从每个Client实例接收心跳消息。如果心跳超时, 则通常将该实例从注册Server中删掉。
POM
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.funtl</groupId><artifactId>hello-spring-cloud-dependencies</artifactId><version>1.0.0-SNAPSHOT</version><relativePath>../hello-spring-cloud-dependencies/pom.xml</relativePath></parent><artifactId>hello-spring-cloud-service-admin</artifactId><packaging>jar</packaging><name>hello-spring-cloud-service-admin</name><url>http://www.funtl.com</url><inceptionYear>2018-Now</inceptionYear><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><mainClass>com.funtl.hello.spring.cloud.service.admin.ServiceAdminApplication</mainClass></configuration></plugin></plugins></build>
</project>
Application
通过注解@EnableEurekaClient表明自己是一个Eureka Client.
package com.funtl.spring.cloud.service.admin;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;@SpringBootApplication
@EnableEurekaClient
public class ServiceAdminApplication {public static void main(String[] args) {SpringApplication.run(ServiceAdminApplication.class, args);}
}
application.yml
spring:application:name: hello-spring-cloud-service-admin
server:port: 8762
eureka:client:serviceUrl:defaultZone: http://localhost:8761/eureka/
注意: 需要指明spring.application.name, 这个很重要, 这在以后的服务与服务之间相互调用一般都是根据这个name
Controller
package com.funtl.hello.spring.cloud.eureka.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;@RestController
public class AdminController {@Value("${server.port}")private String port;@RequestMapping(value="hi", method= RequestMethod.GET)public String sayHi(String message){return String.format("Hi your message is: %s port: %s", message, port);}
}
这篇关于Spring Cloud(Finchley.RCI) (三) Spring Cloud创建服务提供者的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!