You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by GitBox <gi...@apache.org> on 2022/10/10 06:42:18 UTC

[GitHub] [shardingsphere] GreekPanda opened a new issue, #14238: shardingsphere-jdbc-core-spring-boot-starter doen't work on nacos yml based on springcloud Alibaba(2.1.4.RELEASE)

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

   ## Bug Report
   
   ### Which version of ShardingSphere did you use?
   shardingshpere 5.0.0
   ### Which project did you use? ShardingSphere-JDBC or ShardingSphere-Proxy?
   ShardingSphere-JDBC
   ### Expected behavior
   Can read the properties from nacos based on springcloud project successfully
   ### Actual behavior
   Failed to parse properties from nacos
   ### Reason analyze (If you can)
   Maybe confict with springboot starter?
   ### Steps to reproduce the behavior, such as: SQL to execute, sharding rule configuration, when exception occur etc.
   I've made a sample nacos yml file based on official tutorials  and build a springcloud project using nacos as a register center. Try to do some test like insert or select opertion. But it shows error:
   
   java.lang.IllegalStateException: Failed to load ApplicationContext
   	at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:125)
   	at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:108)
   	at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:190)
   	at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:132)
   	at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:246)
   	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227)
   	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289)
   	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
   	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291)
   	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246)
   	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)
   	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
   	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
   	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
   	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
   	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
   	at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
   	at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
   	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
   	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)
   	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
   	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
   	at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
   	at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:220)
   	at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:53)
   Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.shardingsphere.spring.boot.ShardingSphereAutoConfiguration': Initialization of bean failed; nested exception is org.apache.shardingsphere.infra.exception.ShardingSphereException: Can't find data source type.
   	at
   Caused by: java.lang.reflect.InvocationTargetException
   	at sun.reflect.GeneratedMethodAccessor72.invoke(Unknown Source)
   	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   	at java.lang.reflect.Method.invoke(Method.java:498)
   	at org.apache.shardingsphere.spring.boot.util.PropertyUtil.v2(PropertyUtil.java:111)
   	at org.apache.shardingsphere.spring.boot.util.PropertyUtil.handle(PropertyUtil.java:75)
   	at org.apache.shardingsphere.spring.boot.datasource.DataSourceMapSetter.getDataSource(DataSourceMapSetter.java:87)
   	at org.apache.shardingsphere.spring.boot.datasource.DataSourceMapSetter.getDataSourceMap(DataSourceMapSetter.java:65)
   	... 53 more
   Caused by: java.util.NoSuchElementException: No value bound
   	at org.springframework.boot.context.properties.bind.BindResult.get(BindResult.java:56)
   	... 60 more
   
   
   
    
   ### Example codes for reproduce this issue (such as a github link).
   nacos ym file: 
   
   server:
     port: 22001
     
   spring:
     shardingsphere:
       datasource:
         names: write-ds-0,write-ds-1,read-ds-0,read-ds-1
         write-ds-0:
           jdbc-url: jdbc:mysql://172.17.30.208:3306/write_ds_0?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=UTF-8
           type: com.zaxxer.hikari.HikariDataSource
           driver-class-name: com.mysql.cj.jdbc.Driver
           username: root
           password: 123456!
           max-active: 16
         read-ds-0:
           jdbc-url: jdbc:mysql://172.17.30.208:3306/read_ds_0?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=UTF-8
           type: com.zaxxer.hikari.HikariDataSource
           driver-class-name: com.mysql.cj.jdbc.Driver
           username: root
           password: 123456!
           max-active: 16     
         write-ds-1:
           jdbc-url: jdbc:mysql://172.17.30.208:3306/write_ds_1?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=UTF-8
           type: com.zaxxer.hikari.HikariDataSource
           driver-class-name: com.mysql.cj.jdbc.Driver
           username: root
           password: 123456!
           max-active: 16
         write-ds-1-read-0:
           jdbc-url: jdbc:mysql://172.17.30.208:3306/read_ds_1?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=UTF-8
           type: com.zaxxer.hikari.HikariDataSource
           driver-class-name: com.mysql.cj.jdbc.Driver
           username: root
           password: 123456!
           max-active: 16    
       rules:
         sharding:
           default-database-strategy:
             standard:
               sharding-column: user_id
               sharding-algorithm-name: database-inline
           binding-tables[0]: t_order,t_order_item
           broadcast-tables: t_address
           tables:
             t_order:
               actual-data-nodes: write-ds-$->{0..1}.t_order_$->{0..1}
               table-strategy:
                 standard:
                   sharding-column: order_id
                   sharding-algorithm-name: t-order-inline
               key-generate-strategy:
                 column: order_id
                 key-generator-name: snowflake
             t_order_item:
               actual-data-nodes: write-ds-$->{0..1}.t_order_item_$->{0..1}
               table-strategy:
                 standard:
                   sharding-column: order_id
                   sharding-algorithm-name: t-order-item-inline
               key-generate-strategy:
                 column: order_item_id
                 key-generator-name: snowflake
           key-generators:
             snowflake:
               type: SNOWFLAKE
               props:
                 worker-id: 123
           sharding-algorithms:
             database-inline:
               type: INLINE
               props:
                 algorithm-expression: write-ds-$->{user_id % 2}
             t-order-inline:
               type: INLINE
               props:
                 algorithm-expression: t_order_$->{order_id % 2}
             t-order-item-inline:
               type: INLINE
               props:
                 algorithm-expression: t_order_item_$->{order_id % 2}
         readwrite-splitting:
           data-sources:
             ds-0:
               write-data-source-name: write-ds-0
               read-data-source-names: read-ds-0
             ds-1:
               write-data-source-name: write-ds-1
               read-data-source-names: read-ds-1
   
   @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
   @EnableDiscoveryClient
   @EnableFeignClients
   @MapperScan("com.test.**.dao")
   @ComponentScan({"com.test"})
   public class ShardingSeataApplication {
   
   	public static void main(String[] args) {
   		SpringApplication.run(ShardingSeataApplication.class, args);
   	}
   }
   
   


-- 
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


[GitHub] [shardingsphere] github-actions[bot] closed issue #14238: shardingsphere-jdbc-core-spring-boot-starter doen't work on nacos yml based on springcloud Alibaba(2.1.4.RELEASE)

Posted by GitBox <gi...@apache.org>.
github-actions[bot] closed issue #14238: shardingsphere-jdbc-core-spring-boot-starter doen't work on nacos yml based on springcloud Alibaba(2.1.4.RELEASE)
URL: https://github.com/apache/shardingsphere/issues/14238


-- 
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] github-actions[bot] commented on issue #14238: shardingsphere-jdbc-core-spring-boot-starter doen't work on nacos yml based on springcloud Alibaba(2.1.4.RELEASE)

Posted by GitBox <gi...@apache.org>.
github-actions[bot] commented on issue #14238:
URL: https://github.com/apache/shardingsphere/issues/14238#issuecomment-1272350549

   Hello , this issue has not received a reply for several days.
   This issue is supposed to be closed.


-- 
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] TeslaCN closed issue #14238: shardingsphere-jdbc-core-spring-boot-starter doen't work on nacos yml based on springcloud Alibaba(2.1.4.RELEASE)

Posted by GitBox <gi...@apache.org>.
TeslaCN closed issue #14238: shardingsphere-jdbc-core-spring-boot-starter doen't work on nacos yml based on springcloud Alibaba(2.1.4.RELEASE)
URL: https://github.com/apache/shardingsphere/issues/14238


-- 
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] terrymanu commented on issue #14238: shardingsphere-jdbc-core-spring-boot-starter doen't work on nacos yml based on springcloud Alibaba(2.1.4.RELEASE)

Posted by GitBox <gi...@apache.org>.
terrymanu commented on issue #14238:
URL: https://github.com/apache/shardingsphere/issues/14238#issuecomment-1182103301

   Your application framework is too complicated, can you try to analyze from JDBC layer?


-- 
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 #14238: shardingsphere-jdbc-core-spring-boot-starter doen't work on nacos yml based on springcloud Alibaba(2.1.4.RELEASE)

Posted by GitBox <gi...@apache.org>.
linghengqian commented on issue #14238:
URL: https://github.com/apache/shardingsphere/issues/14238#issuecomment-1356445793

   - I think we should close this issue, because Spring Boot Starter was removed in 5.3.0, which caused a complete change in the processing direction of this issue, and someone should open a new issue for discussion.


-- 
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