From b5fa40f36a93b63ff6483abf2ac3a0fba3af95f4 Mon Sep 17 00:00:00 2001 From: Suomm <1474983351@qq.com> Date: Sun, 18 Jun 2023 20:41:04 +0800 Subject: [PATCH] =?UTF-8?q?fixed=2023753d7=20from=20https://gitee.com/Suom?= =?UTF-8?q?m/mybatis-flex/pulls/73=20fix:=20=E4=BD=8E=E7=89=88=E6=9C=AC=20?= =?UTF-8?q?spring-cloud=20=E4=BD=BF=E7=94=A8=20bootstrap.yml=20=E6=8B=89?= =?UTF-8?q?=E5=8F=96=E4=B8=8D=E5=88=B0=20nacos=20=E4=B8=AD=E5=A4=9A?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=BA=90=E9=85=8D=E7=BD=AE=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../spring/boot/ConditionalOnMybatisFlexDatasource.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mybatis-flex-spring-boot-starter/src/main/java/com/mybatisflex/spring/boot/ConditionalOnMybatisFlexDatasource.java b/mybatis-flex-spring-boot-starter/src/main/java/com/mybatisflex/spring/boot/ConditionalOnMybatisFlexDatasource.java index 8066f807..604fcb4a 100644 --- a/mybatis-flex-spring-boot-starter/src/main/java/com/mybatisflex/spring/boot/ConditionalOnMybatisFlexDatasource.java +++ b/mybatis-flex-spring-boot-starter/src/main/java/com/mybatisflex/spring/boot/ConditionalOnMybatisFlexDatasource.java @@ -19,6 +19,8 @@ import org.springframework.boot.autoconfigure.condition.ConditionOutcome; import org.springframework.boot.autoconfigure.condition.SpringBootCondition; import org.springframework.context.annotation.ConditionContext; import org.springframework.context.annotation.Conditional; +import org.springframework.core.Ordered; +import org.springframework.core.annotation.Order; import org.springframework.core.env.*; import org.springframework.core.type.AnnotatedTypeMetadata; @@ -34,6 +36,7 @@ import java.util.Iterator; @Conditional(ConditionalOnMybatisFlexDatasource.OnMybatisFlexDataSourceCondition.class) public @interface ConditionalOnMybatisFlexDatasource { + @Order(Ordered.HIGHEST_PRECEDENCE + 40) class OnMybatisFlexDataSourceCondition extends SpringBootCondition { @Override @@ -44,8 +47,8 @@ public @interface ConditionalOnMybatisFlexDatasource { Iterator> it = propertySources.stream().iterator(); while (it.hasNext()) { PropertySource ps = it.next(); - if (ps instanceof MapPropertySource) { - for (String propertyName : ((MapPropertySource) ps).getSource().keySet()) { + if (ps instanceof EnumerablePropertySource) { + for (String propertyName : ((EnumerablePropertySource) ps).getPropertyNames()) { if (propertyName.startsWith("mybatis-flex.datasource.")) { return ConditionOutcome.match(); }