You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by "Sherlock-4869 (via GitHub)" <gi...@apache.org> on 2023/03/28 08:52:52 UTC

[GitHub] [shardingsphere] Sherlock-4869 opened a new issue, #24880: Properties `strategy` can not be null when uses class based sharding strategy.

Sherlock-4869 opened a new issue, #24880:
URL: https://github.com/apache/shardingsphere/issues/24880

   version :
   sharding jdbc 5.2.1
   spring boot
   mybatis-plus
   
   excuse me , when I start the spring boot project ,it occur the problem:
   
   "Properties `strategy` can not be null when uses class based sharding strategy."
   
    as you can see some of the stack 
   `Caused by: java.lang.NullPointerException: Properties `strategy` can not be null when uses class based sharding strategy.
   	at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:980)
   	at org.apache.shardingsphere.sharding.algorithm.sharding.classbased.ClassBasedShardingAlgorithm.getStrategy(ClassBasedShardingAlgorithm.java:66)
   	at org.apache.shardingsphere.sharding.algorithm.sharding.classbased.ClassBasedShardingAlgorithm.init(ClassBasedShardingAlgorithm.java:59)
   	at org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPIRegistry.findRegisteredService(TypedSPIRegistry.java:66)
   	at org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPIRegistry.getRegisteredService(TypedSPIRegistry.java:113)
   	at org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmFactory.createAlgorithm(ShardingSphereAlgorithmFactory.java:40)
   	at org.apache.shardingsphere.sharding.factory.ShardingAlgorithmFactory.newInstance(ShardingAlgorithmFactory.java:45)
   	at org.apache.shardingsphere.sharding.rule.ShardingRule.lambda$new$0(ShardingRule.java:120)`
   
   
   I have seem some solution is replace the algorithms "_"  to "-"
   
   but my yaml already none "_"
   
   as you can see
   `spring:
     shardingsphere:
       datasource:
         names: ds0
         ds0:
           type: com.alibaba.druid.pool.DruidDataSource
           driver-class-name: com.mysql.cj.jdbc.Driver
           url: ""
           username: 
           password: 
           initial-size: 10
           max-active: 100
           min-idle: 10
           max-wait: 60000
           pool-prepared-statements: true
           max-pool-prepared-statement-per-connection-size: 20
           time-between-eviction-runs-millis: 60000
           min-evictable-idle-time-millis: 300000
           test-while-idle: true
           test-on-borrow: false
           test-on-return: false
           stat-view-servlet:
             enabled: true
             url-pattern: /druid/*
             #login-username: admin
             #login-password: admin
           filter:
             stat:
               log-slow-sql: true
               slow-sql-millis: 1000
               merge-sql: false
             wall:
               config:
                 multi-statement-allow: true
   
       rules:
         sharding:
           tables:
             data_energy_15min:
               actual-data-nodes: ds0.data_energy_15min_$->{2020..2030}${(1..12).collect{t->t.toString().padLeft(2,'0')}}
               table-strategy:
                 standard:
                   sharding-column: stat_date_time
                   sharding-algorithm-name: dateTime
           sharding-algorithms:
             dateTime:
               type: CLASS_BASED
               props:
                 strategy: STANDARD
                 algorithmClassName: com.hgny.energy.module.data.sharding.StatTimeShardingAlgorithm
       props:
         sql-show: true
   `
   
   I can't find any problems, counld you tell me what is wrong ?
   
   thank you very much!


-- 
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] RaigorJiang commented on issue #24880: Properties `strategy` can not be null when uses class based sharding strategy.

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

   This issue has been inactive for a long time, so I will close it.
   If this problem persists, please reopen it or submit a new one.


-- 
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 #24880: Properties `strategy` can not be null when uses class based sharding strategy.

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

   @Sherlock-4869 
   - This is apparently because you have not successfully overwritten SnakeYAML's version.  Can you provide a reproducible git repository? 
   
   - Usually this is because there are additional dependencies specifying the version of snakeyaml, and `<snakeyaml.version>` usually only affects properties passed by Spring Boot's parent POM.


-- 
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] Sherlock-4869 commented on issue #24880: Properties `strategy` can not be null when uses class based sharding strategy.

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

   Sorry to bother you again , I have upgrade to version 5.3.0.
   
   But I have encountered a new problem, when I start up the project , it reported exception 
   
   ```
   Caused by: org.yaml.snakeyaml.error.YAMLException: No single argument constructor found for interface org.apache.shardingsphere.infra.yaml.config.pojo.rule.YamlRuleConfiguration
   ```
   
   there is my configuration
   
   I will reject a datasource like this 
   ```
   package com.hgny.energy.datasources;
   
   import org.apache.shardingsphere.driver.api.yaml.YamlShardingSphereDataSourceFactory;
   import org.springframework.context.annotation.Bean;
   import org.springframework.context.annotation.Configuration;
   import org.springframework.context.annotation.Primary;
   
   import javax.sql.DataSource;
   import java.io.IOException;
   import java.sql.SQLException;
   
   import static org.springframework.util.ResourceUtils.getFile;
   
   @Configuration
   public class ShardingDataSource {
   
   	@Bean
   	@Primary
   	DataSource shardingSphereDataSource() throws SQLException, IOException {
   		return YamlShardingSphereDataSourceFactory.createDataSource(
   				getFile("classpath:sharding.yaml"));
   	}
   }
   
   ```
   
   and my application-dev.yml is 
   
   ```
   spring:
     datasource:
       driver-class-name: org.apache.shardingsphere.driver.ShardingSphereDriver
       url: jdbc:shardingsphere:classpath:sharding.yaml
   ```
   
   and my sharding.yaml is 
   
   ```
   dataSources:
     ds0:
       dataSourceClassName: com.alibaba.druid.pool.DruidDataSource
       driverClassName: com.mysql.cj.jdbc.Driver
       url: "jdbc:mysql://172.18.100.87:3306/eeyes_energy?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT"
       username: root
       password: hgny
       initial-size: 10
       max-active: 100
       min-idle: 10
       max-wait: 60000
       pool-prepared-statements: true
       max-pool-prepared-statement-per-connection-size: 20
       time-between-eviction-runs-millis: 60000
       min-evictable-idle-time-millis: 300000
       test-while-idle: true
       test-on-borrow: false
       test-on-return: false
       stat-view-servlet:
         enabled: true
         url-pattern: /druid/*
       filter:
         stat:
           log-slow-sql: true
           slow-sql-millis: 1000
           merge-sql: false
         wall:
           config:
             multi-statement-allow: true
   
   rules:
     sharding:
       tables:
         data_energy_15min:
           actual-data-nodes: ds0.data_energy_15min_$->{2020..2030}${(1..12).collect{t->t.toString().padLeft(2,'0')}}
           table-strategy:
             standard:
               sharding-column: stat_date_time
               sharding-algorithm-name: dateTime
       sharding-algorithms:
         dateTime:
           type: CLASS_BASED
           props:
             strategy: STANDARD
             algorithmClassName: com.hgny.energy.module.data.sharding.StatTimeShardingAlgorithm
   props:
     sql-show: true
   ```
   
   Can you see what the problem is?please
   


-- 
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] Sherlock-4869 commented on issue #24880: Properties `strategy` can not be null when uses class based sharding strategy.

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

   no, and there is my complete exception stack
   
   ```
   org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: 
   ### Error querying database.  Cause: java.lang.NullPointerException
   ### The error may exist in com/hgny/energy/module/data/dao/DataEnergy15MinDao.java (best guess)
   ### The error may involve defaultParameterMap
   ### The error occurred while setting parameters
   ### SQL: SELECT  id,device_id,energy_type,usage_type,stat_date_time,coal,data_value  FROM data_energy_15min     WHERE (stat_date_time = ?)
   ### Cause: java.lang.NullPointerException
   	at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92)
   	at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440)
   	at com.sun.proxy.$Proxy214.selectList(Unknown Source)
   	at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:223)
   	at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:177)
   	at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:78)
   	at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:96)
   	at com.sun.proxy.$Proxy259.selectList(Unknown Source)
   	at com.baomidou.mybatisplus.extension.service.IService.list(IService.java:275)
   	at com.baomidou.mybatisplus.extension.service.IService$$FastClassBySpringCGLIB$$f8525d18.invoke(<generated>)
   	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
   	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:771)
   	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
   	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
   	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:367)
   	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118)
   	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
   	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
   	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95)
   	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
   	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
   	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:691)
   	at com.hgny.energy.module.data.service.impl.DataEnergy15MinServiceImpl$$EnhancerBySpringCGLIB$$f3a62eba.list(<generated>)
   	at com.baomidou.mybatisplus.extension.service.IService$$FastClassBySpringCGLIB$$f8525d18.invoke(<generated>)
   	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
   	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:771)
   	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
   	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
   	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:367)
   	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118)
   	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
   	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
   	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:691)
   	at com.hgny.energy.module.data.service.impl.DataEnergy15MinServiceImpl$$EnhancerBySpringCGLIB$$396fdab7.list(<generated>)
   	at com.hgny.energy.module.data.controller.DataUploadEnergyErrorController.test(DataUploadEnergyErrorController.java:54)
   	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
   	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   	at java.lang.reflect.Method.invoke(Method.java:498)
   	at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
   	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
   	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105)
   	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878)
   	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792)
   	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
   	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
   	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
   	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
   	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
   	at javax.servlet.http.HttpServlet.service(HttpServlet.java:626)
   	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
   	at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
   	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
   	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
   	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
   	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
   	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
   	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
   	at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
   	at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
   	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
   	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
   	at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
   	at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
   	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
   	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
   	at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:450)
   	at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
   	at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
   	at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
   	at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387)
   	at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
   	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
   	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
   	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
   	at com.hgny.energy.common.xss.XssFilter.doFilter(XssFilter.java:31)
   	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
   	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
   	at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
   	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
   	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
   	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
   	at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
   	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
   	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
   	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
   	at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:93)
   	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
   	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
   	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
   	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
   	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
   	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
   	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
   	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
   	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
   	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
   	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
   	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
   	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
   	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
   	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
   	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
   	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
   	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590)
   	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
   	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
   	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
   	at java.lang.Thread.run(Thread.java:748)
   Caused by: org.apache.ibatis.exceptions.PersistenceException: 
   ### Error querying database.  Cause: java.lang.NullPointerException
   ### The error may exist in com/hgny/energy/module/data/dao/DataEnergy15MinDao.java (best guess)
   ### The error may involve defaultParameterMap
   ### The error occurred while setting parameters
   ### SQL: SELECT  id,device_id,energy_type,usage_type,stat_date_time,coal,data_value  FROM data_energy_15min     WHERE (stat_date_time = ?)
   ### Cause: java.lang.NullPointerException
   	at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
   	at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:149)
   	at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)
   	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
   	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   	at java.lang.reflect.Method.invoke(Method.java:498)
   	at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426)
   	... 108 more
   Caused by: java.lang.NullPointerException
   	at org.apache.shardingsphere.sharding.algorithm.sharding.classbased.ClassBasedShardingAlgorithm.doSharding(ClassBasedShardingAlgorithm.java:87)
   	at org.apache.shardingsphere.sharding.route.strategy.type.standard.StandardShardingStrategy.doSharding(StandardShardingStrategy.java:68)
   	at org.apache.shardingsphere.sharding.route.strategy.type.standard.StandardShardingStrategy.doSharding(StandardShardingStrategy.java:57)
   	at org.apache.shardingsphere.sharding.route.engine.type.standard.ShardingStandardRoutingEngine.routeTables(ShardingStandardRoutingEngine.java:218)
   	at org.apache.shardingsphere.sharding.route.engine.type.standard.ShardingStandardRoutingEngine.route0(ShardingStandardRoutingEngine.java:198)
   	at org.apache.shardingsphere.sharding.route.engine.type.standard.ShardingStandardRoutingEngine.routeByShardingConditionsWithCondition(ShardingStandardRoutingEngine.java:118)
   	at org.apache.shardingsphere.sharding.route.engine.type.standard.ShardingStandardRoutingEngine.routeByShardingConditions(ShardingStandardRoutingEngine.java:111)
   	at org.apache.shardingsphere.sharding.route.engine.type.standard.ShardingStandardRoutingEngine.getDataNodes(ShardingStandardRoutingEngine.java:88)
   	at org.apache.shardingsphere.sharding.route.engine.type.standard.ShardingStandardRoutingEngine.route(ShardingStandardRoutingEngine.java:70)
   	at org.apache.shardingsphere.sharding.route.engine.ShardingSQLRouter.createRouteContext(ShardingSQLRouter.java:56)
   	at org.apache.shardingsphere.sharding.route.engine.ShardingSQLRouter.createRouteContext(ShardingSQLRouter.java:44)
   	at org.apache.shardingsphere.infra.route.engine.impl.PartialSQLRouteExecutor.route(PartialSQLRouteExecutor.java:62)
   	at org.apache.shardingsphere.infra.route.engine.SQLRouteEngine.route(SQLRouteEngine.java:53)
   	at org.apache.shardingsphere.infra.context.kernel.KernelProcessor.route(KernelProcessor.java:54)
   	at org.apache.shardingsphere.infra.context.kernel.KernelProcessor.generateExecutionContext(KernelProcessor.java:46)
   	at org.apache.shardingsphere.driver.jdbc.core.statement.ShardingSpherePreparedStatement.createExecutionContext(ShardingSpherePreparedStatement.java:378)
   	at org.apache.shardingsphere.driver.jdbc.core.statement.ShardingSpherePreparedStatement.execute(ShardingSpherePreparedStatement.java:286)
   	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
   	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   	at java.lang.reflect.Method.invoke(Method.java:498)
   	at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59)
   	at com.sun.proxy.$Proxy292.execute(Unknown Source)
   	at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64)
   	at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79)
   	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
   	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   	at java.lang.reflect.Method.invoke(Method.java:498)
   	at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63)
   	at com.sun.proxy.$Proxy290.query(Unknown Source)
   	at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doQuery(MybatisSimpleExecutor.java:67)
   	at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:324)
   	at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)
   	at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:163)
   	at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.query(MybatisCachingExecutor.java:90)
   	at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)
   	... 114 more
   ```


-- 
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] Sherlock-4869 commented on issue #24880: Properties `strategy` can not be null when uses class based sharding strategy.

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

   I have tried , and I find the init method of `ClassBasedShardingAlgorithm ` is not called when the spring boot project start up , Should it have been called at project startup?
   
   


-- 
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] Sherlock-4869 commented on issue #24880: Properties `strategy` can not be null when uses class based sharding strategy.

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

   I've already check my maven project's 'External Libraries'. The SnakeYAML's version successfully switched. So I thinks it is not the SnakeYAML's version's problem.
   
   And I will try in a demo project when I am free ,so that I can provide a reproducible git repository.
   
   One more thing ,my spring boot's version is 2.3.4.RELEASE.
   
   Is it possible that this issue is caused by the version of Springboot?
   
   Thank you very much!


-- 
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] RaigorJiang commented on issue #24880: Properties `strategy` can not be null when uses class based sharding strategy.

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

   @Sherlock-4869 
   Do you have something like `Bean 'xxx' of type [xxx] is not eligible for getting processed by all BeanPostProcessors` in your startup log?


-- 
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] RaigorJiang commented on issue #24880: Properties `strategy` can not be null when uses class based sharding strategy.

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

   Hi @Sherlock-4869 
   The picture is lost, can you fix it?


-- 
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] RaigorJiang commented on issue #24880: Properties `strategy` can not be null when uses class based sharding strategy.

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

   Yes, the init method should be called automatically. This situation may be caused by the interaction of spring beans. I have seen some similar issues before.
   You can upgrade to version 5.3.x, the algorithm initialization no longer depends on the bean container.
   
   > I have tried , and I find the init method of `ClassBasedShardingAlgorithm ` is not called when the spring boot project start up , Should it have been called at project startup?
   
   


-- 
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] RaigorJiang commented on issue #24880: Properties `strategy` can not be null when uses class based sharding strategy.

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

   @Sherlock-4869 
   If it can't be reproduced, I won't be able to investigate the issue.
   Can you try to debug to see if the `init` method of `ClassBasedShardingAlgorithm` is called correctly?
   Or upgrade to the latest `5.3.x` version.


-- 
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] RaigorJiang commented on issue #24880: Properties `strategy` can not be null when uses class based sharding strategy.

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

   I want to investigate this issue, can you provide a reproducible demo?


-- 
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] Sherlock-4869 commented on issue #24880: Properties `strategy` can not be null when uses class based sharding strategy.

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

   ![Uploading image.png…]()
   


-- 
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] Sherlock-4869 commented on issue #24880: Properties `strategy` can not be null when uses class based sharding strategy.

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

   sorry, I can't reappear it when I use sharding jdbc 5.2.1 in a demo project, so I think this is a compatibility issue with other frameworks,such as mybatis-plus, shiro and so on.
   
   So I later use sharding jdbc 5.1.2, other issues arise at this time, it occrus NullPointerException.
   
   Trace the source code back. It occrus in this line in 'ClassBasedShardingAlgorithm'
   
   ![image](https://user-images.githubusercontent.com/75062359/228443988-951e030f-b1e2-418d-977a-ac94514b5eaf.png)
   
   I think it doesn't Inject my algorithm class normally.
   
   My yaml like this:
   
   `
   spring:
     shardingsphere:
       datasource:
         names: ds0
         ds0:
           type: com.alibaba.druid.pool.DruidDataSource
           driver-class-name: com.mysql.cj.jdbc.Driver
           url: "jdbc:mysql://172.18.100.87:3306/eeyes_energy?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT"
           username: root
           password: hgny
           initial-size: 10
           max-active: 100
           min-idle: 10
           max-wait: 60000
           pool-prepared-statements: true
           max-pool-prepared-statement-per-connection-size: 20
           time-between-eviction-runs-millis: 60000
           min-evictable-idle-time-millis: 300000
           test-while-idle: true
           test-on-borrow: false
           test-on-return: false
           stat-view-servlet:
             enabled: true
             url-pattern: /druid/*
             #login-username: admin
             #login-password: admin
           filter:
             stat:
               log-slow-sql: true
               slow-sql-millis: 1000
               merge-sql: false
             wall:
               config:
                 multi-statement-allow: true
   
       rules:
         sharding:
           tables:
             data_energy_15min:
               actual-data-nodes: ds0.data_energy_15min_$->{2020..2030}${(1..12).collect{t->t.toString().padLeft(2,'0')}}
               table-strategy:
                 standard:
                   sharding-column: stat_date_time
                   sharding-algorithm-name: dateTime
           sharding-algorithms:
             dateTime:
               type: CLASS_BASED
               props:
                 strategy: STANDARD
                 algorithmClassName: com.hgny.energy.module.data.sharding.StatTimeShardingAlgorithm
       props:
         sql-show: true
   `
   
   ![image](https://user-images.githubusercontent.com/75062359/228444485-2e601b56-374a-430a-b525-a37372b8785d.png)
   
   Can you spot any problems, please.
   
   


-- 
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] RaigorJiang closed issue #24880: Properties `strategy` can not be null when uses class based sharding strategy.

Posted by "RaigorJiang (via GitHub)" <gi...@apache.org>.
RaigorJiang closed issue #24880: Properties `strategy` can not be null when uses class based sharding strategy.
URL: https://github.com/apache/shardingsphere/issues/24880


-- 
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 #24880: Properties `strategy` can not be null when uses class based sharding strategy.

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

   > One more thing ,my spring boot's version is 2.3.4.RELEASE.
   > 
   > Is it possible that this issue is caused by the version of Springboot?
   
   - I'm not sure, but since Spring Boot OSS 2.3 has stopped maintenance, it means that even if this is a Spring Boot bug, it cannot be reported to the Spring community.
   
   
   


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