private String getServerNamespace(ApplicationContext applicationContext) { if (applicationContext instanceof WebServerApplicationContext) { return ((WebServerApplicationContext) applicationContext) .getServerNamespace(); } return null; }
/** * Access the {@link WebServer}. * @return the embedded web server */ public WebServer getWebServer() { return getSource(); }
@Override public void onApplicationEvent(WebServerInitializedEvent event) { String propertyName = "local." + getName(event.getApplicationContext()) + ".port"; setPortProperty(event.getApplicationContext(), propertyName, event.getWebServer().getPort()); }
@SuppressFBWarnings("ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD") @Override public void onApplicationEvent(WebServerInitializedEvent event) { Loggers.SRV_LOG.info("[SERVER-INIT] got port: {}", event.getWebServer().getPort()); Loggers.SRV_LOG.info("[SERVER-INIT] got path: {}", servletContext.getContextPath()); serverPort = event.getWebServer().getPort(); contextPath = servletContext.getContextPath(); try { RaftCore.init(); } catch (Exception e) { Loggers.RAFT.error("[NACOS-RAFT] {} {}", "failed to initialize raft sub system", e); } }
@EventListener public void onWebServerInitialized(WebServerInitializedEvent event) { String name = event.getApplicationContext().getServerNamespace(); if ("server".equals(name) || !StringUtils.hasText(name)) { localServerPort = event.getWebServer().getPort(); } else if ("management".equals(name)) { localManagementPort = event.getWebServer().getPort(); } } }
@Override public void onApplicationEvent(WebServerInitializedEvent event) { File portFile = getPortFile(event.getApplicationContext()); try { String port = String.valueOf(event.getWebServer().getPort()); createParentFolder(portFile); FileCopyUtils.copy(port.getBytes(), portFile); portFile.deleteOnExit(); } catch (Exception ex) { logger.warn(String.format("Cannot create port file %s", this.file)); } }
@Deprecated public void bind(WebServerInitializedEvent event) { ApplicationContext context = event.getApplicationContext(); if (context instanceof ConfigurableWebServerApplicationContext) { if ("management".equals( ((ConfigurableWebServerApplicationContext) context).getServerNamespace())) { return; } } this.port.compareAndSet(0, event.getWebServer().getPort()); this.start(); }
void onWebServerInitializedEvent(WebServerInitializedEvent event) { if (this.applicationContext.equals(event.getApplicationContext())) { this.embeddedWebApplication = true; } }
@Test public void verifySingleConnector() { // Relevant to Tomcat 9.0 assertThat(applicationContext).isInstanceOf(WebServerApplicationContext.class); WebServer webServer = ((WebServerApplicationContext) applicationContext).getWebServer(); assertThat(webServer).isInstanceOf(TomcatWebServer.class); assertThat(((TomcatWebServer) webServer).getTomcat() .getEngine() .getService() .findConnectors()).hasSize(1); }
/** * Return the actual port file that should be written for the given application * context. The default implementation builds a file from the source file and the * application context namespace if available. * @param applicationContext the source application context * @return the file that should be written */ protected File getPortFile(ApplicationContext applicationContext) { String namespace = getServerNamespace(applicationContext); if (StringUtils.isEmpty(namespace)) { return this.file; } String name = this.file.getName(); String extension = StringUtils.getFilenameExtension(this.file.getName()); name = name.substring(0, name.length() - extension.length() - 1); if (isUpperCase(name)) { name = name + "-" + namespace.toUpperCase(Locale.ENGLISH); } else { name = name + "-" + namespace.toLowerCase(Locale.ENGLISH); } if (StringUtils.hasLength(extension)) { name = name + "." + extension; } return new File(this.file.getParentFile(), name); }
private void setPortProperty(ApplicationContext context, String propertyName, int port) { if (context instanceof ConfigurableApplicationContext) { setPortProperty(((ConfigurableApplicationContext) context).getEnvironment(), propertyName, port); } if (context.getParent() != null) { setPortProperty(context.getParent(), propertyName, port); } }
@Override public void onApplicationEvent(WebServerInitializedEvent event) { if (port == 0) { port = event.getWebServer().getPort(); List<String> newList = new ArrayList<String>(); for (String serverAddrTmp : serverList) { newList.add(getFormatServerAddr(serverAddrTmp)); } setServerList(new ArrayList<String>(newList)); } }
private ThreadPool findThreadPool(ApplicationContext applicationContext) { if (applicationContext instanceof WebServerApplicationContext) { WebServer webServer = ((WebServerApplicationContext) applicationContext) .getWebServer(); if (webServer instanceof JettyWebServer) { return ((JettyWebServer) webServer).getServer().getThreadPool(); } } return null; }
private String getName(WebServerApplicationContext context) { String name = context.getServerNamespace(); return StringUtils.hasText(name) ? name : "server"; }
@Override public void onApplicationEvent(WebServerInitializedEvent event) { setServerPort(event.getWebServer().getPort()); setContextPath(servletContext.getContextPath()); }
private Manager findManager(ApplicationContext applicationContext) { if (applicationContext instanceof WebServerApplicationContext) { WebServer webServer = ((WebServerApplicationContext) applicationContext) .getWebServer(); if (webServer instanceof TomcatWebServer) { Context context = findContext((TomcatWebServer) webServer); return context.getManager(); } } return null; }
@EventListener(WebServerInitializedEvent.class) public void onApplicationEvent(WebServerInitializedEvent event) { int serverPort = event.getWebServer().getPort(); this.ansRegistration.setPort(serverPort); log.info("[ Migrate ] change the port to " + serverPort); if (!this.running.get()) { long s = System.currentTimeMillis(); log.info("[Migrate] start to registry server to ANS"); this.serviceRegistry.register(this.ansRegistration); log.info("[migrate] end to registry server to ANS cost time with " + (System.currentTimeMillis() - s) + " ms."); this.running.set(true); } }
@Override public void onApplicationEvent(final WebServerInitializedEvent event) { int port = event.getWebServer().getPort(); final String host = getHost(); Address.getInstance() .setHost(host) .setPort(port) .setDomain(String.join(":", host, String.valueOf(port))); }
@Override public void onApplicationEvent(final WebServerInitializedEvent event) { int port = event.getWebServer().getPort(); final String host = getHost(); final String domain = System.getProperty("soul.httpPath"); if (StringUtils.isBlank(domain)) { Domain.getInstance() .setHttpPath("http://" + String.join(":", host, String.valueOf(port))); } else { Domain.getInstance() .setHttpPath(domain); } }
@Override public void onApplicationEvent(WebServerInitializedEvent event) { this.serverPort = event.getWebServer().getPort(); }