You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by "liu729133700 (via GitHub)" <gi...@apache.org> on 2023/02/23 13:40:37 UTC

[GitHub] [shardingsphere] liu729133700 opened a new issue, #24326: druid datasource properties connect-properties cause project start ip failed

liu729133700 opened a new issue, #24326:
URL: https://github.com/apache/shardingsphere/issues/24326

   ## Bug Report
   
   **For English only**, other languages will not accept.
   
   Before report a bug, make sure you have:
   
   - Searched open and closed [GitHub issues](https://github.com/apache/shardingsphere/issues).
   - Read documentation: [ShardingSphere Doc](https://shardingsphere.apache.org/document/current/en/overview).
   
   Please pay attention on issues you submitted, because we maybe need more details. 
   If no response anymore and we cannot reproduce it on current information, we will **close it**.
   
   Please answer these questions before submitting your issue. Thanks!
   
   ### Which version of ShardingSphere did you use?
           
    ```
     <groupId>org.apache.shardingsphere</groupId>
         <artifactId>shardingsphere-jdbc-core-spring-boot-starter</artifactId>
         <version>5.1.1</version>
   ```
   
   ### Which project did you use? ShardingSphere-JDBC or ShardingSphere-Proxy?
   * ShardingSphere-JDBC
   ### Expected behavior
   * init druid datasource success
   * project start up success
   ### Actual behavior
   
   ### Reason analyze (If you can)
   
   ```
       private Optional<Method> findSetterMethod(final String fieldName) {
           String setterMethodName = SETTER_PREFIX + CaseFormat.LOWER_CAMEL.to(CaseFormat.UPPER_CAMEL, fieldName);
           return Arrays.stream(dataSourceMethods).filter(each -> each.getName().equals(setterMethodName) && 1 == each.getParameterTypes().length).findFirst();
       }
   ```
   ```
   public void setConnectProperties(Properties properties)
   
   public void setConnectionProperties(String connectionProperties)
   
   ```
   **in class  DataSourceReflection method findSetterMethod(final String fieldName),param -> "connectProperties",  after filter return two Method, but findFirst() choose setConnectProperties(Properties properties). so errors **
   
   **in version 4.1.1 no errors**
   ### Steps to reproduce the behavior, such as: SQL to execute, sharding rule configuration, when exception occur etc.
   ```
   org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.shardingsphere.spring.boot.ShardingSphereAutoConfiguration': Initialization of bean failed; nested exception is java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Map
   	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:628)
   	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
   	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
   	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
   	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
   	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
   	at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:410)
   	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352)
   	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195)
   	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)
   	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
   	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
   	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
   	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
   	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:213)
   	at org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors(PostProcessorRegistrationDelegate.java:258)
   	at org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:762)
   	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:567)
   	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)
   	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745)
   	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420)
   	at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
   	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317)
   	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306)
   	at com.ninebot.content.center.ContentCenterApplication.main(ContentCenterApplication.java:25)
   Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Map
   	at org.apache.shardingsphere.infra.datasource.pool.creator.DataSourceReflection.setField(DataSourceReflection.java:141)
   	at org.apache.shardingsphere.infra.datasource.pool.creator.DataSourceReflection.lambda$setField$0(DataSourceReflection.java:123)
   	at java.util.Optional.ifPresent(Optional.java:159)
   	at org.apache.shardingsphere.infra.datasource.pool.creator.DataSourceReflection.setField(DataSourceReflection.java:123)
   	at org.apache.shardingsphere.infra.datasource.pool.creator.DataSourcePoolCreator.setConfiguredFields(DataSourcePoolCreator.java:86)
   	at org.apache.shardingsphere.infra.datasource.pool.creator.DataSourcePoolCreator.create(DataSourcePoolCreator.java:68)
   	at org.apache.shardingsphere.spring.boot.datasource.DataSourceMapSetter.getDataSource(DataSourceMapSetter.java:92)
   	at org.apache.shardingsphere.spring.boot.datasource.DataSourceMapSetter.getDataSourceMap(DataSourceMapSetter.java:65)
   	at org.apache.shardingsphere.spring.boot.ShardingSphereAutoConfiguration.setEnvironment(ShardingSphereAutoConfiguration.java:122)
   	at org.springframework.context.support.ApplicationContextAwareProcessor.invokeAwareInterfaces(ApplicationContextAwareProcessor.java:110)
   	at org.springframework.context.support.ApplicationContextAwareProcessor.postProcessBeforeInitialization(ApplicationContextAwareProcessor.java:102)
   	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:440)
   	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1796)
   	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620)
   	... 24 common frames omitted
   [2023-02-23 20:29:19.276 ERROR] [main] o.s.b.SpringApplication - Application run failed
   org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.shardingsphere.spring.boot.ShardingSphereAutoConfiguration': Initialization of bean failed; nested exception is java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Map
   	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:628)
   	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
   	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
   	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
   	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
   	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
   	at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:410)
   	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352)
   	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195)
   	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)
   	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
   	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
   	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
   	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
   	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:213)
   	at org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors(PostProcessorRegistrationDelegate.java:258)
   	at org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:762)
   	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:567)
   	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)
   	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745)
   	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420)
   	at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
   	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317)
   	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306)
   	at com.ninebot.content.center.ContentCenterApplication.main(ContentCenterApplication.java:25)
   Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Map
   	at org.apache.shardingsphere.infra.datasource.pool.creator.DataSourceReflection.setField(DataSourceReflection.java:141)
   	at org.apache.shardingsphere.infra.datasource.pool.creator.DataSourceReflection.lambda$setField$0(DataSourceReflection.java:123)
   	at java.util.Optional.ifPresent(Optional.java:159)
   	at org.apache.shardingsphere.infra.datasource.pool.creator.DataSourceReflection.setField(DataSourceReflection.java:123)
   	at org.apache.shardingsphere.infra.datasource.pool.creator.DataSourcePoolCreator.setConfiguredFields(DataSourcePoolCreator.java:86)
   	at org.apache.shardingsphere.infra.datasource.pool.creator.DataSourcePoolCreator.create(DataSourcePoolCreator.java:68)
   	at org.apache.shardingsphere.spring.boot.datasource.DataSourceMapSetter.getDataSource(DataSourceMapSetter.java:92)
   	at org.apache.shardingsphere.spring.boot.datasource.DataSourceMapSetter.getDataSourceMap(DataSourceMapSetter.java:65)
   	at org.apache.shardingsphere.spring.boot.ShardingSphereAutoConfiguration.setEnvironment(ShardingSphereAutoConfiguration.java:122)
   	at org.springframework.context.support.ApplicationContextAwareProcessor.invokeAwareInterfaces(ApplicationContextAwareProcessor.java:110)
   	at org.springframework.context.support.ApplicationContextAwareProcessor.postProcessBeforeInitialization(ApplicationContextAwareProcessor.java:102)
   	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:440)
   	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1796)
   	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620)
   	... 24 common frames omitted
   ```
   ### Example codes for reproduce this issue (such as a github link).
   ```
   spring:
     shardingsphere:
       datasource:
         names: master,slave0,slave1
         master:
           type: com.alibaba.druid.pool.DruidDataSource
           driver-class-name: com.mysql.jdbc.Driver
           url: 
           username:
           password:
           initial-size: 5
           min-idle: 5
           max-active: 20
           max-wait: 60000
           min-evictable-idle-time-millis: 30000
           time-between-eviction-runs-millis: 60000
           validation-query: SELECT 'x'
           test-while-idle: true
           test-on-borrow: false
           test-on-return: false
           pool-prepared-statements: true
           max-pool-prepared-statement-per-connection-size: 20
           filters: stat,slf4j
           **Parameter causing error**
           connect-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=3000
           async-init: true
           max-open-prepared-statements: 20
           use-global-data-source-stat: true
         slave0:
           type: com.alibaba.druid.pool.DruidDataSource
           driver-class-name: com.mysql.jdbc.Driver
           url: 
           username:
           password: 
           initial-size: 5
           min-idle: 5
           max-active: 20
           max-wait: 60000
           min-evictable-idle-time-millis: 30000
           time-between-eviction-runs-millis: 60000
           validation-query: SELECT 'x'
           test-while-idle: true
           test-on-borrow: false
           test-on-return: false
           pool-prepared-statements: true
           max-pool-prepared-statement-per-connection-size: 20
           filters: stat,slf4j
           **Parameter causing error**
           connect-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=3000
           async-init: true
           max-open-prepared-statements: 20
           use-global-data-source-stat: true
         slave1:
           type: com.alibaba.druid.pool.DruidDataSource
           driver-class-name: com.mysql.jdbc.Driver
           url: 
           username:
           password: 
           initial-size: 5
           min-idle: 5
           max-active: 20
           max-wait: 60000
           min-evictable-idle-time-millis: 30000
           time-between-eviction-runs-millis: 60000
           validation-query: SELECT 'x'
           test-while-idle: true
           test-on-borrow: false
           test-on-return: false
           pool-prepared-statements: true
           max-pool-prepared-statement-per-connection-size: 20
           filters: stat,slf4j
           **Parameter causing error**
           connect-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=3000
           async-init: true
           max-open-prepared-statements: 20
           use-global-data-source-stat: true
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@shardingsphere.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] druid datasource properties connect-properties cause project start ip failed [shardingsphere]

Posted by "linghengqian (via GitHub)" <gi...@apache.org>.
linghengqian commented on issue #24326:
URL: https://github.com/apache/shardingsphere/issues/24326#issuecomment-1932171050

   - Verify that this issue has been resolved at https://github.com/apache/shardingsphere/issues/21211#issuecomment-1932123528 . 
   - Please provide additional unit tests using ShardingSphere 5.4.2-SNAPSHOT, otherwise this issue will be closed as resolved.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] druid datasource properties connect-properties cause project start ip failed [shardingsphere]

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on issue #24326:
URL: https://github.com/apache/shardingsphere/issues/24326#issuecomment-2026017111

   There hasn't been any activity on this issue recently, and in order to prioritize active issues, it will be marked as stale.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] druid datasource properties connect-properties cause project start ip failed [shardingsphere]

Posted by "linghengqian (via GitHub)" <gi...@apache.org>.
linghengqian closed issue #24326: druid datasource properties connect-properties cause project start ip failed
URL: https://github.com/apache/shardingsphere/issues/24326


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [shardingsphere] linghengqian commented on issue #24326: druid datasource properties connect-properties cause project start ip failed

Posted by "linghengqian (via GitHub)" <gi...@apache.org>.
linghengqian commented on issue #24326:
URL: https://github.com/apache/shardingsphere/issues/24326#issuecomment-1441927608

   - This is essentially the same type of problem as described in https://github.com/apache/shardingsphere/issues/21211#issuecomment-1371218036 , both of which are aimed at Alibaba Druid's YAML Config processing. 
   
   - I assume you exist a PR?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] druid datasource properties connect-properties cause project start ip failed [shardingsphere]

Posted by "linghengqian (via GitHub)" <gi...@apache.org>.
linghengqian commented on issue #24326:
URL: https://github.com/apache/shardingsphere/issues/24326#issuecomment-2026110854

   - Closed due to not being able to reproduce.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org