|
@@ -19,21 +19,46 @@
|
|
|
|
|
|
package edp;
|
|
|
|
|
|
-import com.alibaba.nacos.spring.context.annotation.config.NacosPropertySource;
|
|
|
+import com.alibaba.nacos.api.annotation.NacosInjected;
|
|
|
+import com.alibaba.nacos.api.exception.NacosException;
|
|
|
+import com.alibaba.nacos.api.naming.NamingService;
|
|
|
+import com.alibaba.nacos.client.naming.utils.CollectionUtils;
|
|
|
+import com.alibaba.nacos.spring.context.annotation.discovery.EnableNacosDiscovery;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.boot.SpringApplication;
|
|
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
|
|
import org.springframework.context.annotation.Bean;
|
|
|
import org.springframework.scheduling.annotation.EnableScheduling;
|
|
|
|
|
|
+import javax.annotation.PostConstruct;
|
|
|
+
|
|
|
@SpringBootApplication(exclude = {
|
|
|
org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration.class,
|
|
|
org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class
|
|
|
})
|
|
|
@EnableScheduling
|
|
|
-@NacosPropertySource(dataId = "example", autoRefreshed = true)
|
|
|
public class DavinciServerApplication {
|
|
|
|
|
|
+ @NacosInjected
|
|
|
+ private NamingService namingService;
|
|
|
+
|
|
|
+ @Value("${server.port}")
|
|
|
+ private int serverPort;
|
|
|
+
|
|
|
+ @Value("${nacos.discovery.server-addr}")
|
|
|
+ private String serverAddr;
|
|
|
+
|
|
|
+ @Value("${spring.application.name}")
|
|
|
+ private String applicationName;
|
|
|
+ //curl -X PUT 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=xxx&ip=127.0.0.1&port=8080'
|
|
|
+ @PostConstruct
|
|
|
+ public void registerInstance() throws NacosException
|
|
|
+ {
|
|
|
+ if(CollectionUtils.isEmpty(namingService.getAllInstances(applicationName))){
|
|
|
+ namingService.registerInstance(applicationName,serverAddr,serverPort);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
public static void main(String[] args) {
|
|
|
System.setProperty("mail.mime.splitlongparameters", "false");
|
|
|
SpringApplication.run(DavinciServerApplication.class, args);
|