### Environment

* Dubbo version: 2.7.0-SNAPSHOT
* Operating System version: centOs7
* Java version: 1.8
* SpringBoot: 2.0.5

### Steps to reproduce this issue
I just using @Reference to invoke the remote service,but the boot program was 
failed in startup
This is the wrong message as follow:
```
2019-02-13 17:16:23.262 |-INFO  [main] org.apache.zookeeper.ZooKeeper [438] -| 
Initiating client connection, connectString=172.16.28.147:2181 
sessionTimeout=60000 watcher=org.apache.curator.ConnectionState@1bcd567
2019-02-13 17:16:23.264 |-INFO  [main-SendThread(172.16.28.147:2181)] 
org.apache.zookeeper.ClientCnxn [1032] -| Opening socket connection to server 
172.16.28.147/172.16.28.147:2181. Will not attempt to authenticate using SASL 
(unknown error)
2019-02-13 17:16:23.265 |-INFO  [main-SendThread(172.16.28.147:2181)] 
org.apache.zookeeper.ClientCnxn [876] -| Socket connection established to 
172.16.28.147/172.16.28.147:2181, initiating session
2019-02-13 17:16:23.264 |-INFO  [main] 
org.apache.curator.framework.imps.CuratorFrameworkImpl [332] -| Default schema
2019-02-13 17:16:23.269 |-INFO  [main-SendThread(172.16.28.147:2181)] 
org.apache.zookeeper.ClientCnxn [1299] -| Session establishment complete on 
server 172.16.28.147/172.16.28.147:2181, sessionid = 0x10000009300002e, 
negotiated timeout = 40000
2019-02-13 17:16:23.270 |-INFO  [main-EventThread] 
org.apache.curator.framework.state.ConnectionStateManager [237] -| State 
change: CONNECTED
2019-02-13 17:16:23.603 |-WARN  [main] 
org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext
 [558] -| Exception encountered during context initialization - cancelling 
refresh attempt: 
org.springframework.beans.factory.UnsatisfiedDependencyException: Error 
creating bean with name 'IPController': Unsatisfied dependency expressed 
through field 'ipService'; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'IPService': Injection of @Reference dependencies failed; nested 
exception is java.lang.IllegalArgumentException: Can not set 
com.tisson.crawler.rpc.ProxyPoolService field 
com.tisson.crawler.rpc.consumer.IPService.proxyPoolService to 
org.apache.dubbo.common.bytecode.proxy0
2019-02-13 17:16:23.603 |-INFO  [main] 
org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor [208] -| 
Shutting down ExecutorService 'defaultThreadPool'
2019-02-13 17:16:23.623 |-INFO  [main] 
org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor
 [252] -| <dubbo:reference singleton="true" 
interface="com.tisson.crawler.rpc.WoffFileService" 
uniqueServiceName="com.tisson.crawler.rpc.WoffFileService" 
prefix="dubbo.reference.com.tisson.crawler.rpc.WoffFileService" check="false" 
lazy="true" generic="false" generic="false" loadbalance="serviceUrl" 
valid="true" id="com.tisson.crawler.rpc.WoffFileService" /> was destroying!
2019-02-13 17:16:23.624 |-INFO  [main] 
org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor
 [261] -| class 
org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor
 was destroying!
2019-02-13 17:16:23.624 |-INFO  [main] org.apache.catalina.core.StandardService 
[180] -| Stopping service [Tomcat]
```

It look like that interface inject failed,what is this guy called 'proxy0'

There is the code about the interface and dubboConfig as follow:
```
public interface ProxyPoolService {
        public Map<String,String> poolStatus();
        
        public Boolean loadProxyIPFromFile(String filePath);
}

public class IPService {
        @Reference(loadbalance="serviceUrl",check=false,lazy=true)
        private ProxyPoolService proxyPoolService;
        @Autowired
        private ZookeeperUtil zkUtil;
}

provider config:
@Configuration
@Slf4j
public class DubboConfiguration {
        
        @Value("${crawler.provider.num}")
        private String providerNum;
        @Value("${crawler.zookeeper.address}")
        private String zkAddress;
        @Value("${crawler.dubbo.protocol.port}")
        private Integer protocolPort;
        
        @Bean
        public ApplicationConfig applicationConfig() {
                ApplicationConfig applicationConfig = new ApplicationConfig();
                String localIP="127.0.0.1";
                try {
                        localIP=CommonUtil.getLocalIP();
                }catch (Exception e) {
                        log.error("error in getLocalIP:",e);
                }
                
applicationConfig.setName("tianyanchaCrawler-"+localIP+"-"+providerNum);
                return applicationConfig;
        }
        
        @Bean
        public ConfigCenterConfig configCenterConfig() {
                ConfigCenterConfig configCenterConfig=new ConfigCenterConfig();
                configCenterConfig.setAddress("zookeeper://"+zkAddress);
                return configCenterConfig;
        }
        
        @Bean
        public MetadataReportConfig metadataReportConfig() {
                MetadataReportConfig config=new MetadataReportConfig();
                config.setAddress("zookeeper://"+zkAddress);
                return config;
        }
        
        @Bean
        public RegistryConfig registryConfig() {
                RegistryConfig registryConfig = new RegistryConfig();
                registryConfig.setAddress("zookeeper://"+zkAddress);
                registryConfig.setClient("curator");
                return registryConfig;
        }
        @Bean
        public ProtocolConfig protocolConfig() {
                ProtocolConfig protocolConfig=new ProtocolConfig();
                protocolConfig.setPort(protocolPort);
                return protocolConfig;
        }
}

consumer config:
@Configuration
@Slf4j
public class DubboConfiguration {
        
        @Value("${monitor.provider.num}")
        private String providerNum;
        @Value("${monitor.zookeeper.address}")
        private String zkAddress;
        
        @Bean
        public ApplicationConfig applicationConfig() {
                ApplicationConfig applicationConfig = new ApplicationConfig();
                String localIP="127.0.0.1";
                try {
                        localIP=CommonUtil.getLocalIP();
                }catch (Exception e) {
                        log.error("error in getLocalIP:",e);
                }
                
applicationConfig.setName("tianyanchaCrawler-"+localIP+"-"+providerNum);
                return applicationConfig;
        }
        
        @Bean
        public RegistryConfig registryConfig() {
                RegistryConfig registryConfig = new RegistryConfig();
                registryConfig.setAddress("zookeeper://"+zkAddress);
                registryConfig.setClient("curator");
                return registryConfig;
        }
}

```


[ Full content available at: 
https://github.com/apache/incubator-dubbo/issues/3464 ]
This message was relayed via gitbox.apache.org for 
[email protected]

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to