You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2021/08/08 17:30:25 UTC

[shardingsphere] branch master updated: Since org.springframework.beans.factory.config.BeanDefinition#getBeanClassName may be empty in the case of factory bean reference, the beanclassname needs to be judged (#11702)

This is an automated email from the ASF dual-hosted git repository.

zhangliang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 92abebb  Since org.springframework.beans.factory.config.BeanDefinition#getBeanClassName may be empty in the case of factory bean reference, the beanclassname needs to be judged (#11702)
92abebb is described below

commit 92abebba6606e04412efad5766dd4b67a99b8142
Author: danianyu <12...@qq.com>
AuthorDate: Mon Aug 9 01:29:56 2021 +0800

    Since org.springframework.beans.factory.config.BeanDefinition#getBeanClassName may be empty in the case of factory bean reference, the beanclassname needs to be judged (#11702)
---
 .../spring/namespace/registry/ShardingSphereAlgorithmBeanRegistry.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-spring-infra/shardingsphere-jdbc-spring-namespace-infra/src/main/java/org/apache/shardingsphere/spring/namespace/registry/ShardingSphereAlgorithmBeanRegistry.java b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-spring-infra/shardingsphere-jdbc-spring-namespace-infra/src/main/java/org/apache/shardingsphere/spring/namespace/registry/ShardingSphereAlgorithmBeanRegistry.java
index e8fb01e..acfdb06 100644
--- a/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-spring-infra/shardingsphere-jdbc-spring-namespace-infra/src/main/java/org/apache/shardingsphere/spring/namespace/registry/ShardingSphereAlgorithmBeanRegistry.java
+++ b/shardingsphere-jdbc/shardingsphere-jdbc-spring/shardingsphere-jdbc-spring-infra/shardingsphere-jdbc-spring-namespace-infra/src/main/java/org/apache/shardingsphere/spring/namespace/registry/ShardingSphereAlgorithmBeanRegistry.java
@@ -45,7 +45,8 @@ public final class ShardingSphereAlgorithmBeanRegistry {
         String algorithmFactoryBeanClassName = algorithmFactoryBeanClass.getName();
         Map<String, RuntimeBeanReference> result = new ManagedMap<>(beanDefinitionNames.length);
         for (String each : beanDefinitionNames) {
-            if (parserContext.getRegistry().getBeanDefinition(each).getBeanClassName().equals(algorithmFactoryBeanClassName)) {
+            String beanClassName = parserContext.getRegistry().getBeanDefinition(each).getBeanClassName();
+            if (beanClassName != null && beanClassName.equals(algorithmFactoryBeanClassName)) {
                 result.put(each, new RuntimeBeanReference(each));
             }
         }