DubboCustomConfig.java 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package com.ssj.dubbo.config;
  2. import java.lang.management.ManagementFactory;
  3. import java.util.Set;
  4. import javax.management.MBeanServer;
  5. import javax.management.ObjectName;
  6. import javax.management.Query;
  7. import org.springframework.beans.factory.annotation.Autowired;
  8. import org.springframework.beans.factory.annotation.Value;
  9. import org.springframework.context.annotation.Bean;
  10. import org.springframework.context.annotation.Configuration;
  11. import com.alibaba.dubbo.config.RegistryConfig;
  12. @Configuration
  13. public class DubboCustomConfig {
  14. @Value("${dubbo.application.name}")
  15. private String app_name;
  16. @Value("${dubbo.application.path}")
  17. private String path;
  18. @Autowired
  19. private RegistryConfig registryConfig;
  20. @Bean
  21. public RegistryConfig registryConfig() throws Exception {
  22. // String path="/www/data/dubbo/";
  23. MBeanServer beanServer = ManagementFactory.getPlatformMBeanServer();
  24. Set<ObjectName> objectNames = beanServer.queryNames(new ObjectName("*:type=Connector,*"),
  25. Query.match(Query.attr("protocol"), Query.value("HTTP/1.1")));
  26. String serverPort = objectNames.iterator().next().getKeyProperty("port");
  27. registryConfig.setFile(path+app_name+"_"+serverPort+".cache");
  28. return registryConfig;
  29. }
  30. }