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

alexstocks pushed a commit to branch 3.0
in repository https://gitbox.apache.org/repos/asf/dubbo-go.git


The following commit(s) were added to refs/heads/3.0 by this push:
     new a0591a5  fix:consumer和provider在一起时抛异常 (#1765)
a0591a5 is described below

commit a0591a517363e93091d2373610f0c399ba359edb
Author: zhaoyunxing <[email protected]>
AuthorDate: Wed Mar 9 13:24:07 2022 +0800

    fix:consumer和provider在一起时抛异常 (#1765)
---
 config/consumer_config.go | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/config/consumer_config.go b/config/consumer_config.go
index 5dacdc1..a383d5c 100644
--- a/config/consumer_config.go
+++ b/config/consumer_config.go
@@ -137,24 +137,24 @@ func (cc *ConsumerConfig) Load() {
        var count int
        for {
                checkok := true
-               for _, refconfig := range cc.References {
-                       if (refconfig.Check != nil && *refconfig.Check) ||
-                               (refconfig.Check == nil && cc.Check) ||
-                               (refconfig.Check == nil) { // default to true
+               for key, ref := range cc.References {
+                       if (ref.Check != nil && *ref.Check && 
GetProviderService(key) == nil) ||
+                               (ref.Check == nil && cc.Check && 
GetProviderService(key) == nil) ||
+                               (ref.Check == nil && GetProviderService(key) == 
nil) { // default to true
 
-                               if refconfig.invoker != nil && 
!refconfig.invoker.IsAvailable() {
+                               if ref.invoker != nil && 
!ref.invoker.IsAvailable() {
                                        checkok = false
                                        count++
                                        if count > maxWait {
-                                               errMsg := fmt.Sprintf("No 
provider available of the service %v.please check configuration.", 
refconfig.InterfaceName)
+                                               errMsg := fmt.Sprintf("No 
provider available of the service %v.please check configuration.", 
ref.InterfaceName)
                                                logger.Error(errMsg)
                                                panic(errMsg)
                                        }
                                        time.Sleep(time.Second * 1)
                                        break
                                }
-                               if refconfig.invoker == nil {
-                                       logger.Warnf("The interface %s invoker 
not exist, may you should check your interface config.", 
refconfig.InterfaceName)
+                               if ref.invoker == nil {
+                                       logger.Warnf("The interface %s invoker 
not exist, may you should check your interface config.", ref.InterfaceName)
                                }
                        }
                }

Reply via email to