Nacos-spring-samples解析
Posted longxok
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nacos-spring-samples解析相关的知识,希望对你有一定的参考价值。
小白们在看这个用例的时候得注意,这个东东不知道他是为了让大家能够快速体验还是怎么的,
反正我一开始没整明白,有点想当然的去理解了;
我一直以为这个Nacos-spring-samples只是一个简单的客户端,跟我之前的自己用例中去调用nacos一样(没有去看他的代码),
但是后面去看的时候有点想当然了,这个Nacos-spring-samples启动的时候触发了一个核心简易的nacos平台,看下他的配置文件
<listener> <listener-class>com.alibaba.nacos.embedded.web.servlet.EmbeddedNacosHttpServerListener</listener-class> </listener>
这个监听服务启动的时候会设置他的系统属性,就是nacos的IP地址加端口号,这个有点牛逼,动态的!
public class EmbeddedNacosHttpServerListener implements ServletContextListener private static final String SERVER_ADDRESS_PROPERTY_NAME = "nacos.server-addr"; private EmbeddedNacosHttpServer httpServer; @Override public void contextInitialized(ServletContextEvent servletContextEvent) try if (!System.getProperties().containsKey(SERVER_ADDRESS_PROPERTY_NAME)) httpServer = new EmbeddedNacosHttpServer(); httpServer.start(false); System.setProperty(SERVER_ADDRESS_PROPERTY_NAME, "127.0.0.1:" + httpServer.getPort()); catch (IOException e) throw new RuntimeException(e); @Override public void contextDestroyed(ServletContextEvent servletContextEvent) if (httpServer != null) httpServer.stop();
public EmbeddedNacosHttpServer start(boolean blocking) httpServer.createContext(path, nacosConfigHttpHandler); nacosConfigHttpHandler.init(); if (blocking) startServer(); else future = executorService.submit(new Runnable() @Override public void run() startServer(); ); return this;
private void startServer() httpServer.start(); String threadName = Thread.currentThread().getName(); System.out.printf("[%s] Embedded Nacos HTTP Server(port : %d) is starting...%n", threadName, port); System.out.printf("[%s] Embedded Nacos HTTP Server mapped request URI : %s...%n", threadName, path);
这样他就启动了一个微缩版的nacos客户端平台,而不是我们通常理解的下面这个平台,之前我一直用下面这个平台的参数去做测试,(# ̄~ ̄#)
提醒大家看的时候不要想当然,多看看代码,把下面这个方法简单的设置下,就可以设置成我们之前想当然的nacos
@Override public void contextInitialized(ServletContextEvent servletContextEvent) System.setProperty(SERVER_ADDRESS_PROPERTY_NAME, "127.0.0.1:" +"8848");
以上是关于Nacos-spring-samples解析的主要内容,如果未能解决你的问题,请参考以下文章
Pygame错误:self.spritedict [spr] = surface_blit(spr.image,spr.rect)