-
Notifications
You must be signed in to change notification settings - Fork 26.5k
Mock字段注入异常 #5239
Copy link
Copy link
Closed
Milestone
Description
环境
- Dubbo version: 2.7.3
- Operating System version: win10
- Java version: 1.8.0_101
- Dubbo-spring-boot-starter version: 2.7.3
- Spring-boot-starter version: 2.1.3.RELEASE
问题描述
- 在application.properties中添加mock配置:dubbo.consumer.mock=return {"code":300,"message":"fail"}
- 项目启动失败,报错:
Failed to bind properties under 'dubbo.consumer.mock' to java.lang.Boolean:
Property: dubbo.consumer.mock
Value: return {"code":300,"message":"fail"}
Origin: class path resource [application.properties]:30:21
Reason: failed to convert java.lang.String to java.lang.Boolean
- 调试发现在将dubbo.consumer.mock赋值给AbstractMethodConfing时,调用的是setMock(Boolean) 而不是setMock(String)。
- spring在获取字段的set方法时,用到了Class.getDeclaredMethods(),这个方法返回结果是无序的,这样导致了如果先加载了setMock(String),那么项目会成功启动,反之,则会出现上面说的错误。
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Type
Fields
Give feedbackNo fields configured for issues without a type.