Spring boot 在application.yml中使用时未找到Spring boot eureka.datacenter属性
我正在创建spring bootSpring boot 在application.yml中使用时未找到Spring boot eureka.datacenter属性,spring-boot,spring-cloud,netflix-eureka,Spring Boot,Spring Cloud,Netflix Eureka,我正在创建spring bootEureka服务器和客户端micro服务,以便在aws上部署。我读过一些教程,我必须在eureka server的应用程序.yml中定义eureka.datacenter:cloud,以便它知道它在aws上。但是当我尝试在application.yml文件中使用它时,我得到了未知属性'eureka.datacenter'。 我为eureka服务器提供了依赖项 <dependencies> <dependency>
Eureka服务器和客户端micro服务,以便在aws上部署。我读过一些教程,我必须在eureka server的应用程序.yml
中定义eureka.datacenter:cloud
,以便它知道它在aws上。但是当我尝试在application.yml文件中使用它时,我得到了未知属性'eureka.datacenter'
。
我为eureka服务器提供了依赖项
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
</dependencies>
可能不会有什么不同,但您是否可以尝试:
eureka.datacenter:cloud
而不是:
eureka.datacenter=cloud
您不需要将eureka.datacenter
作为命令行属性传递吗
如果您在云环境中运行,则需要传入java命令行属性-Deureka.datacenter=cloud,以便Eureka客户机/服务器知道如何初始化特定于AWS cloud的信息
我正在按照你的指示做
我在发帖时犯了打字错误。我确实使用了eureka.datacenter:cloud。很抱歉。我将编辑问题。你的application.yml是什么样子的?我不知道有一个eureka.datacenter
属性。我已经添加了application.yml。是的,我知道,但在一些在线帖子中,.yml文件中提到了它。
spring:
application:
name: eureka-svc
---
spring:
profiles: localhost
server:
port: 8761
eureka:
instance:
hostname: localhost
client:
fetchRegistry: false
register-with-eureka: false
serviceUrl:
defaultZone: http://localhost:8761/eureka
---
spring:
profiles: aws
server:
port: 8761
eureka:
instance:
non-secure-port: ${server.port}
environment: production
client:
region: region
register-with-eureka: true
fetchRegistry: true
use-dns-for-fetching-service-urls: true
eureka-server-d-n-s-name: dns-name
eureka-server-port: 8761
eureka-server-u-r-l-context: eureka
server:
a-w-s-access-id: access-id
a-w-s-secret-key: aws-key
binding-strategy: route53
list-auto-scaling-groups-role-name: role-name
@EnableEurekaServer
@SpringBootApplication
public class DiscoveryServiceApplication {
public static void main(String[] args) {
SpringApplication.run(DiscoveryServiceApplication.class, args);
}
@Bean
@Profile("aws")
public EurekaInstanceConfigBean eurekaInstanceConfig(InetUtils inetUtils) {
EurekaInstanceConfigBean b = new EurekaInstanceConfigBean(inetUtils);
AmazonInfo info = AmazonInfo.Builder.newBuilder().autoBuild("eureka");
b.setDataCenterInfo(info);
return b;
}
}