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 2021/04/29 08:30:32 UTC

[GitHub] [shardingsphere] hanxu00920 removed a comment on issue #10216: ShardingSphere-JDBC orchestration for Spring boot not available

hanxu00920 removed a comment on issue #10216:
URL: https://github.com/apache/shardingsphere/issues/10216#issuecomment-828918784


   Did you really test and use a hybrid architecture?
   I googled other people's examples, and tried to use the 4.0.1 version of the dependency, and excluded many of the dependencies he said. 
   ```
   <dependency>
   	<groupId>org.apache.shardingsphere</groupId>
   	<artifactId>sharding-jdbc-orchestration-spring-boot-starter</artifactId>
   	<version>4.0.1</version>
   	<exclusions>
   		<exclusion>
   			<groupId>org.apache.curator</groupId>
   			<artifactId>curator-framework</artifactId>
   		</exclusion>
   	</exclusions>
   </dependency>
   <dependency>
   	<groupId>org.apache.shardingsphere</groupId>
   	<artifactId>sharding-orchestration-reg-zookeeper-curator</artifactId>
   	<version>4.0.1</version>
   	<exclusions>
   		<exclusion>
   			<groupId>org.apache.curator</groupId>
   			<artifactId>curator-framework</artifactId>
   		</exclusion>
   		<exclusion>
   			<groupId>org.apache.curator</groupId>
   			<artifactId>curator-recipes</artifactId>
   		</exclusion>
   		<exclusion>
   			<groupId>org.apache.curator</groupId>
   			<artifactId>curator-client</artifactId>
   		</exclusion>
   	</exclusions>
   </dependency>
   <dependency>
   	<groupId>org.apache.curator</groupId>
   	<artifactId>curator-framework</artifactId>
   	<version>2.10.0</version>
   </dependency>
   <dependency>
   	<groupId>org.apache.curator</groupId>
   	<artifactId>curator-recipes</artifactId>
   	<version>2.10.0</version>
   </dependency>
   ```
   The jdbc application is successfully started and the configuration is shared to zookeeper, but the shardingsphere-proxy cannot be started through the configuration center.
   proxy error log:
   ```
   Exception in thread "main" java.lang.NullPointerException
   	at java.util.regex.Matcher.getTextLength(Matcher.java:1283)
   	at java.util.regex.Matcher.reset(Matcher.java:309)
   	at java.util.regex.Matcher.<init>(Matcher.java:229)
   	at java.util.regex.Pattern.matcher(Pattern.java:1093)
   	at org.yaml.snakeyaml.reader.StreamReader.checkPrintable(StreamReader.java:64)
   	at org.yaml.snakeyaml.reader.StreamReader.<init>(StreamReader.java:47)
   	at org.yaml.snakeyaml.Yaml.loadAs(Yaml.java:427)
   	at org.apache.shardingsphere.underlying.common.yaml.engine.YamlEngine.unmarshal(YamlEngine.java:129)
   	at org.apache.shardingsphere.underlying.common.yaml.engine.YamlEngine.unmarshal(YamlEngine.java:116)
   	at org.apache.shardingsphere.orchestration.core.configcenter.ConfigCenter.loadAuthentication(ConfigCenter.java:292)
   	at org.apache.shardingsphere.shardingproxy.Bootstrap.startWithRegistryCenter(Bootstrap.java:133)
   	at org.apache.shardingsphere.shardingproxy.Bootstrap.main(Bootstrap.java:87)
   ```
   So I first emptied the configuration center, and then shared the configuration to zookeeper through shardingsphere-proxy, but the jdbc application failed to start.
   jdbc error log:
   ```
   Caused by: java.lang.NullPointerException
   	at org.apache.shardingsphere.orchestration.internal.registry.config.service.ConfigurationService.isEncryptRule(ConfigurationService.java:194)
   	at org.apache.shardingsphere.shardingjdbc.orchestration.spring.boot.OrchestrationSpringBootConfiguration.dataSource(OrchestrationSpringBootConfiguration.java:175)
   	at org.apache.shardingsphere.shardingjdbc.orchestration.spring.boot.OrchestrationSpringBootConfiguration$$EnhancerBySpringCGLIB$$f6d755b2.CGLIB$dataSource$4(<generated>)
   	at org.apache.shardingsphere.shardingjdbc.orchestration.spring.boot.OrchestrationSpringBootConfiguration$$EnhancerBySpringCGLIB$$f6d755b2$$FastClassBySpringCGLIB$$891609a6.invoke(<generated>)
   	at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
   	at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:361)
   	at org.apache.shardingsphere.shardingjdbc.orchestration.spring.boot.OrchestrationSpringBootConfiguration$$EnhancerBySpringCGLIB$$f6d755b2.dataSource(<generated>)
   	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.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154)
   	... 44 more
   ```
   I guarantee that the orchestration.name and registry.namespace configurations are accurate, and that jdbc and proxy match.
   It's really hard.


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

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