使用spring cloud Concur for int属性引发ConverterNotFoundException
我在启动spring boot/cloud应用程序时收到以下错误消息,该应用程序从Consor获取一些属性:使用spring cloud Concur for int属性引发ConverterNotFoundException,spring,spring-boot,spring-cloud,consul,spring-cloud-consul,Spring,Spring Boot,Spring Cloud,Consul,Spring Cloud Consul,我在启动spring boot/cloud应用程序时收到以下错误消息,该应用程序从Consor获取一些属性: *************************** APPLICATION FAILED TO START *************************** Description: Binding to target demo.config.Config@5b4954b2 failed: Property: config.number Value: ${
***************************
APPLICATION FAILED TO START
***************************
Description:
Binding to target demo.config.Config@5b4954b2 failed:
Property: config.number
Value: ${config.number:5}
Reason: Failed to convert property value of type 'java.lang.String' to required type 'int' for property 'number'; nested exception is org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type [java.lang.String] to type [int]
Action:
Update your application's configuration
这是我的主要课程:
@SpringBootApplication
@WebAppConfiguration
@EnableDiscoveryClient
@EnableConfigurationProperties
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
以及配置属性类:
@Component
@ConfigurationProperties(prefix="config")
public class Config {
private int number;
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
}
application.yml文件是:
server:
port: 8100
spring:
application:
name: demo
以及bootstrap.yml文件:
spring:
cloud:
consul:
host: localhost
port: 8500
config:
enabled: true
prefix: config
config:
number: ${config.number:5}
最后是maven pom.xml文件的相关部分:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.3.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-cloud.version>Dalston.SR1</spring-cloud.version>
<cucumber.version>1.2.5</cucumber.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</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>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
org.springframework.boot
spring启动程序父级
1.5.3.1发布
UTF-8
UTF-8
1.8
Dalston.SR1
1.2.5
org.springframework.boot
SpringBootStarterWeb
org.springframework.boot
spring引导启动器数据jpa
org.springframework.cloud
SpringCloudStarter配置
org.springframework.cloud
春云起动器尤里卡
org.springframework.cloud
spring cloud starter领事发现
org.springframework.cloud
SpringCloudStarterConcur配置
org.springframework.boot
spring引导配置处理器
真的
org.springframework.cloud
spring云依赖关系
${spring cloud.version}
聚甲醛
进口
我发现问题是因为在某些情况下,PropertySourceBootstrapConfiguration
无法从Consor找到属性源。如果在启动过程中正确启动了PropertySourceBootstrapConfiguration
,则不会出现此类异常,应用程序会按预期工作。我发现问题是因为PropertySourceBootstrapConfiguration
在某些情况下无法从Consult找到属性源。如果在启动过程中正确启动了PropertySourceBootstrapConfiguration
,则不会出现此类异常,应用程序也会按预期工作。您认为这与spring cloud Concur有关吗?如果没有Concur的键值配置,即config:number:5
,则应用程序对于int-type可以正常工作。如果number
是字符串类型,它也可以正常工作。您认为这与spring cloud Consor有关吗?如果没有Consor的键值配置,即config:number:5
,则应用程序可以正常工作于int类型。如果数字
是字符串类型,它也可以正常工作。