michkish commented on issue #29381:
URL: 
https://github.com/apache/shardingsphere/issues/29381#issuecomment-1873605668

   I had the same issue in Spring Boot 3.1.5, Sharding Jdbc 5.4.1
   
   application.yml
   ```yaml
   spring:
     datasource:
       driver-class-name: org.apache.shardingsphere.driver.ShardingSphereDriver
       url: jdbc:shardingsphere:classpath:shardingsphere-dev.yaml
   ```
   shardingsphere-dev.yaml
   ```yaml
   mode:
     type: Standalone
     repository:
       type: JDBC
   
   dataSources:
     ds_1:
       dataSourceClassName: com.zaxxer.hikari.HikariDataSource
       driverClassName: com.mysql.jdbc.Driver
       jdbcUrl: 
jdbc:mysql://xxxx:3309/xxx?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8
       username: xxx
       password: xxx
     ds_2:
       dataSourceClassName: com.zaxxer.hikari.HikariDataSource
       driverClassName: com.mysql.jdbc.Driver
       jdbcUrl: 
jdbc:mysql://xxx:3309/x?usxxeUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8
       username: xxx
       password: xxx
   
   rules:
   - !READWRITE_SPLITTING
     dataSources:
       readwrite_ds:
         write_data_source_name: ds_1
         read_data_source_names: ds_2
         loadBalancerName: random
     loadBalancers:
       random: RANDOM
   
   props:
     sql.show: true
   ```
   
   spring start log shows:
   
   org.yaml.snakeyaml.constructor.ConstructorException: Cannot create 
property=rules for 
JavaBean=org.apache.shardingsphere.driver.api.yaml.YamlJDBCConfiguration@40612056
    in 'reader', line 1, column 1:
       mode:
       ^
   Cannot create property=dataSources for 
JavaBean=org.apache.shardingsphere.readwritesplitting.yaml.config.YamlReadwriteSplittingRuleConfiguration@7af17d31
    in 'reader', line 21, column 3:
       - !READWRITE_SPLITTING
         ^
   Cannot create property=write_data_source_name for 
JavaBean=org.apache.shardingsphere.readwritesplitting.yaml.config.rule.YamlReadwriteSplittingDataSourceRuleConfiguration@7c8cea05
    in 'reader', line 24, column 7:
             write_data_source_name: ds_1
             ^
   Unable to find property 'write_data_source_name' on class: 
org.apache.shardingsphere.readwritesplitting.yaml.config.rule.YamlReadwriteSplittingDataSourceRuleConfiguration
    in 'reader', line 24, column 31:
             write_data_source_name: ds_1
                                     ^
   
    in 'reader', line 23, column 5:
           readwrite_ds:
           ^
   
    in 'reader', line 21, column 1:
       - !READWRITE_SPLITTING
       ^
   
        at 
org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:321)
 ~[snakeyaml-1.33.jar:na]
        at 
org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.construct(Constructor.java:207)
 ~[snakeyaml-1.33.jar:na]
        at 
org.yaml.snakeyaml.constructor.Constructor$ConstructYamlObject.construct(Constructor.java:358)
 ~[snakeyaml-1.33.jar:na]
        at 
org.yaml.snakeyaml.constructor.BaseConstructor.constructObjectNoCheck(BaseConstructor.java:270)
 ~[snakeyaml-1.33.jar:na]
        at 
org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:253)
 ~[snakeyaml-1.33.jar:na]
        at 
org.yaml.snakeyaml.constructor.BaseConstructor.constructDocument(BaseConstructor.java:207)
 ~[snakeyaml-1.33.jar:na]
        at 
org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:191)
 ~[snakeyaml-1.33.jar:na]
        at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:477) 
~[snakeyaml-1.33.jar:na]
        at org.yaml.snakeyaml.Yaml.loadAs(Yaml.java:470) 
~[snakeyaml-1.33.jar:na]
        at 
org.apache.shardingsphere.infra.util.yaml.YamlEngine.unmarshal(YamlEngine.java:69)
 ~[shardingsphere-infra-util-5.4.1.jar:5.4.1]
        at 
org.apache.shardingsphere.driver.api.yaml.YamlShardingSphereDataSourceFactory.createDataSource(YamlShardingSphereDataSourceFactory.java:101)
 ~[shardingsphere-jdbc-core-5.4.1.jar:5.4.1]
        at 
org.apache.shardingsphere.driver.jdbc.core.driver.DriverDataSourceCache.createDataSource(DriverDataSourceCache.java:52)
 ~[shardingsphere-jdbc-core-5.4.1.jar:5.4.1]
        at 
org.apache.shardingsphere.driver.jdbc.core.driver.DriverDataSourceCache.lambda$get$0(DriverDataSourceCache.java:46)
 ~[shardingsphere-jdbc-core-5.4.1.jar:5.4.1]
        at 
java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708)
 ~[na:na]
        at 
org.apache.shardingsphere.driver.jdbc.core.driver.DriverDataSourceCache.get(DriverDataSourceCache.java:46)
 ~[shardingsphere-jdbc-core-5.4.1.jar:5.4.1]
        at 
org.apache.shardingsphere.driver.ShardingSphereDriver.connect(ShardingSphereDriver.java:53)
 ~[shardingsphere-jdbc-core-5.4.1.jar:5.4.1]
        at 
com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:121)
 ~[HikariCP-5.0.1.jar:na]
        at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:359) 
~[HikariCP-5.0.1.jar:na]
        at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) 
~[HikariCP-5.0.1.jar:na]
        at 
com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:470) 
~[HikariCP-5.0.1.jar:na]
        at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) 
~[HikariCP-5.0.1.jar:na]
        at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:100) 
~[HikariCP-5.0.1.jar:na]
        at 
com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) 
~[HikariCP-5.0.1.jar:na]
        at 
org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122)
 ~[hibernate-core-6.2.13.Final.jar:6.2.13.Final]
        at 
org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:437)
 ~[hibernate-core-6.2.13.Final.jar:6.2.13.Final]
        at 
org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.delegateWork(JdbcIsolationDelegate.java:61)
 ~[hibernate-core-6.2.13.Final.jar:6.2.13.Final]
        at 
org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentUsingJdbcMetadata(JdbcEnvironmentInitiator.java:279)
 ~[hibernate-core-6.2.13.Final.jar:6.2.13.Final]
        at 
org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:193)
 ~[hibernate-core-6.2.13.Final.jar:6.2.13.Final]
        at 
org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:69)
 ~[hibernate-core-6.2.13.Final.jar:6.2.13.Final]
        at 
org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:119)
 ~[hibernate-core-6.2.13.Final.jar:6.2.13.Final]
        at 
org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:264)
 ~[hibernate-core-6.2.13.Final.jar:6.2.13.Final]
        at 
org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:239)
 ~[hibernate-core-6.2.13.Final.jar:6.2.13.Final]
        at 
org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:216)
 ~[hibernate-core-6.2.13.Final.jar:6.2.13.Final]
        at 
org.hibernate.boot.model.relational.Database.<init>(Database.java:45) 
~[hibernate-core-6.2.13.Final.jar:6.2.13.Final]
        at 
org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:231)
 ~[hibernate-core-6.2.13.Final.jar:6.2.13.Final]
        at 
org.hibernate.boot.internal.InFlightMetadataCollectorImpl.<init>(InFlightMetadataCollectorImpl.java:199)
 ~[hibernate-core-6.2.13.Final.jar:6.2.13.Final]
        at 
org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:169)
 ~[hibernate-core-6.2.13.Final.jar:6.2.13.Final]
        at 
org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1383)
 ~[hibernate-core-6.2.13.Final.jar:6.2.13.Final]
        at 
org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1454)
 ~[hibernate-core-6.2.13.Final.jar:6.2.13.Final]
        at 
org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:75)
 ~[spring-orm-6.0.13.jar:6.0.13]
        at 
org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:376)
 ~[spring-orm-6.0.13.jar:6.0.13]
        at 
org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409)
 ~[spring-orm-6.0.13.jar:6.0.13]
        at 
org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396)
 ~[spring-orm-6.0.13.jar:6.0.13]
        at 
org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:352)
 ~[spring-orm-6.0.13.jar:6.0.13]
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1817)
 ~[spring-beans-6.0.13.jar:6.0.13]
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1766)
 ~[spring-beans-6.0.13.jar:6.0.13]
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:598)
 ~[spring-beans-6.0.13.jar:6.0.13]
        at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520)
 ~[spring-beans-6.0.13.jar:6.0.13]
        at 
org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325)
 ~[spring-beans-6.0.13.jar:6.0.13]
        at 
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
 ~[spring-beans-6.0.13.jar:6.0.13]
        at 
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323)
 ~[spring-beans-6.0.13.jar:6.0.13]
        at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
 ~[spring-beans-6.0.13.jar:6.0.13]
        at 
org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1166)
 ~[spring-context-6.0.13.jar:6.0.13]
        at 
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:940)
 ~[spring-context-6.0.13.jar:6.0.13]
        at 
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:616)
 ~[spring-context-6.0.13.jar:6.0.13]
        at 
org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146)
 ~[spring-boot-3.1.5.jar:3.1.5]
        at 
org.springframework.boot.SpringApplication.refresh(SpringApplication.java:738) 
~[spring-boot-3.1.5.jar:3.1.5]
        at 
org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:440)
 ~[spring-boot-3.1.5.jar:3.1.5]
        at 
org.springframework.boot.SpringApplication.run(SpringApplication.java:316) 
~[spring-boot-3.1.5.jar:3.1.5]
        at 
org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) 
~[spring-boot-3.1.5.jar:3.1.5]
        at 
org.springframework.boot.SpringApplication.run(SpringApplication.java:1295) 
~[spring-boot-3.1.5.jar:3.1.5]
        at com.xxx.xxx.app.service.XXXApplication.main(XXXApplication.java:15) 
~[classes/:na]
   Caused by: org.yaml.snakeyaml.constructor.ConstructorException: Cannot 
create property=dataSources for 
JavaBean=org.apache.shardingsphere.readwritesplitting.yaml.config.YamlReadwriteSplittingRuleConfiguration@7af17d31
    in 'reader', line 21, column 3:
       - !READWRITE_SPLITTING
         ^
   Cannot create property=write_data_source_name for 
JavaBean=org.apache.shardingsphere.readwritesplitting.yaml.config.rule.YamlReadwriteSplittingDataSourceRuleConfiguration@7c8cea05
    in 'reader', line 24, column 7:
             write_data_source_name: ds_1
             ^
   Unable to find property 'write_data_source_name' on class: 
org.apache.shardingsphere.readwritesplitting.yaml.config.rule.YamlReadwriteSplittingDataSourceRuleConfiguration
    in 'reader', line 24, column 31:
             write_data_source_name: ds_1
                                     ^
   
    in 'reader', line 23, column 5:
           readwrite_ds:
           ^
   
        at 
org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:321)
 ~[snakeyaml-1.33.jar:na]
        at 
org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.construct(Constructor.java:207)
 ~[snakeyaml-1.33.jar:na]
        at 
org.yaml.snakeyaml.constructor.Constructor$ConstructYamlObject.construct(Constructor.java:358)
 ~[snakeyaml-1.33.jar:na]
        at 
org.yaml.snakeyaml.constructor.BaseConstructor.constructObjectNoCheck(BaseConstructor.java:270)
 ~[snakeyaml-1.33.jar:na]
        at 
org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:253)
 ~[snakeyaml-1.33.jar:na]
        at 
org.yaml.snakeyaml.constructor.BaseConstructor.constructSequenceStep2(BaseConstructor.java:469)
 ~[snakeyaml-1.33.jar:na]
        at 
org.yaml.snakeyaml.constructor.BaseConstructor.constructSequence(BaseConstructor.java:435)
 ~[snakeyaml-1.33.jar:na]
        at 
org.yaml.snakeyaml.constructor.Constructor$ConstructSequence.construct(Constructor.java:560)
 ~[snakeyaml-1.33.jar:na]
        at 
org.yaml.snakeyaml.constructor.BaseConstructor.constructObjectNoCheck(BaseConstructor.java:270)
 ~[snakeyaml-1.33.jar:na]
        at 
org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:253)
 ~[snakeyaml-1.33.jar:na]
        at 
org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.newInstance(Constructor.java:333)
 ~[snakeyaml-1.33.jar:na]
        at 
org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:298)
 ~[snakeyaml-1.33.jar:na]
        ... 61 common frames omitted
   Caused by: org.yaml.snakeyaml.constructor.ConstructorException: Cannot 
create property=write_data_source_name for 
JavaBean=org.apache.shardingsphere.readwritesplitting.yaml.config.rule.YamlReadwriteSplittingDataSourceRuleConfiguration@7c8cea05
    in 'reader', line 24, column 7:
             write_data_source_name: ds_1
             ^
   Unable to find property 'write_data_source_name' on class: 
org.apache.shardingsphere.readwritesplitting.yaml.config.rule.YamlReadwriteSplittingDataSourceRuleConfiguration
    in 'reader', line 24, column 31:
             write_data_source_name: ds_1
                                     ^
   
        at 
org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:321)
 ~[snakeyaml-1.33.jar:na]
        at 
org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.construct(Constructor.java:207)
 ~[snakeyaml-1.33.jar:na]
        at 
org.yaml.snakeyaml.constructor.BaseConstructor.constructObjectNoCheck(BaseConstructor.java:270)
 ~[snakeyaml-1.33.jar:na]
        at 
org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:253)
 ~[snakeyaml-1.33.jar:na]
        at 
org.yaml.snakeyaml.constructor.BaseConstructor.constructMapping2ndStep(BaseConstructor.java:581)
 ~[snakeyaml-1.33.jar:na]
        at 
org.yaml.snakeyaml.constructor.SafeConstructor.constructMapping2ndStep(SafeConstructor.java:213)
 ~[snakeyaml-1.33.jar:na]
        at 
org.yaml.snakeyaml.constructor.BaseConstructor.constructMapping(BaseConstructor.java:557)
 ~[snakeyaml-1.33.jar:na]
        at 
org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.construct(Constructor.java:193)
 ~[snakeyaml-1.33.jar:na]
        at 
org.yaml.snakeyaml.constructor.BaseConstructor.constructObjectNoCheck(BaseConstructor.java:270)
 ~[snakeyaml-1.33.jar:na]
        at 
org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:253)
 ~[snakeyaml-1.33.jar:na]
        at 
org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.newInstance(Constructor.java:333)
 ~[snakeyaml-1.33.jar:na]
        at 
org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:298)
 ~[snakeyaml-1.33.jar:na]
        ... 72 common frames omitted
   Caused by: org.yaml.snakeyaml.error.YAMLException: Unable to find property 
'write_data_source_name' on class: 
org.apache.shardingsphere.readwritesplitting.yaml.config.rule.YamlReadwriteSplittingDataSourceRuleConfiguration
        at 
org.yaml.snakeyaml.introspector.PropertyUtils.getProperty(PropertyUtils.java:155)
 ~[snakeyaml-1.33.jar:na]
        at 
org.yaml.snakeyaml.introspector.PropertyUtils.getProperty(PropertyUtils.java:145)
 ~[snakeyaml-1.33.jar:na]
        at 
org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.getProperty(Constructor.java:337)
 ~[snakeyaml-1.33.jar:na]
        at 
org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:261)
 ~[snakeyaml-1.33.jar:na]
        ... 83 common frames omitted
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to