xuxueli / xxl-conf

A lightweight distributed configuration management platform. (分布式配置管理平台XXL-CONF)
http://www.xuxueli.com/xxl-conf/
GNU General Public License v3.0
666 stars 371 forks source link

@XxlConf 没生效 #38

Closed wuxinbo closed 6 years ago

wuxinbo commented 6 years ago

在下面的情况下注解没有获取到值:

@Component  
 @ServerEndpoint("/socket")   
public class Server {
    private Logger logger = LoggerFactory.getLogger(Server.class);
    @XxlConf("cztech.port")
    public String port;
    @OnOpen
    public void onOpen(Session session){
        logger.info("port 为"+port);
        logger.info ("client is "+ XxlConfClient.get("cztech.port"));
        logger.info("有连接建立");
    }
}

输出的日志如下: image 在这个场景中又是可以获取到的:

@RestController
public class HelloController {
    @XxlConf("cztech.name")
    public String name;
    @XxlConf("cztech.port")
    private String port;
    @GetMapping("/hello")
    public String hello(){
        return "hello"+name+port;
    }
}
xuxueli commented 6 years ago

你好,这个问题是 “ServerEndpoint与Spring的兼容性问题” 导致的。有两种解决方案: 1、使用API的方式 “XxlConfClient.get” 获取XXL-CONF的配置; 2、修复 “Spring Cloud/Boot WebSocket 无法注入Bean的问题”,可参考文档:https://blog.csdn.net/tornadojava/article/details/78781474

wuxinbo commented 6 years ago

好的