下面列出了怎么用org.springframework.boot.web.context.WebServerInitializedEvent的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
public void onApplicationEvent(ApplicationEvent applicationEvent) {
if (applicationEvent instanceof WebServerInitializedEvent) {
WebServerInitializedEvent event = (WebServerInitializedEvent) applicationEvent;
ApplicationContext context = event.getApplicationContext();
if (context instanceof ConfigurableWebServerApplicationContext) {
if ("management"
.equals(((ConfigurableWebServerApplicationContext) context)
.getServerNamespace())) {
return;
}
}
this.autoServiceRegistration.setPortIfNeeded(event.getWebServer().getPort());
this.autoServiceRegistration.start();
}
}
@Override
public void onApplicationEvent(WebServerInitializedEvent event) {
Service service = ((TomcatWebServer) event.getWebServer()).getTomcat().getService();
for (Connector connector : service.findConnectors()) {
if (connector.getSecure()) {
this.httpsPort = connector.getLocalPort();
} else {
this.httpPort = connector.getLocalPort();
}
}
}
@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)) {
SoulDomain.getInstance()
.setHttpPath("http://" + String.join(":", host, String.valueOf(port)));
} else {
SoulDomain.getInstance()
.setHttpPath(domain);
}
}
@Override
public boolean accepts(Object aEvent)
{
return aEvent instanceof ApplicationEvent && !(
aEvent instanceof ApplicationContextEvent ||
aEvent instanceof ServletRequestHandledEvent ||
aEvent instanceof SessionCreationEvent ||
aEvent instanceof SessionDestroyedEvent ||
aEvent instanceof AbstractAuthorizationEvent ||
aEvent instanceof AbstractAuthenticationEvent ||
aEvent instanceof WebServerInitializedEvent);
}
@Async
@Order
@EventListener(WebServerInitializedEvent.class)
public void afterStart(WebServerInitializedEvent event) {
Environment environment = event.getApplicationContext().getEnvironment();
String appName = environment.getProperty("spring.application.name").toUpperCase();
int localPort = event.getWebServer().getPort();
String profile = StringUtils.arrayToCommaDelimitedString(environment.getActiveProfiles());
log.info("---[{}]---启动完成,当前使用的端口:[{}],环境变量:[{}]---", appName, localPort, profile);
}
@Override
public void onApplicationEvent(WebServerInitializedEvent event) {
if (!discoveryProperties.isAutoRegister()) {
return;
}
Register register = discoveryProperties.getRegister();
if (StringUtils.isEmpty(register.getIp())) {
register.setIp(NetUtils.localIP());
}
if (register.getPort() == 0) {
register.setPort(event.getWebServer().getPort());
}
register.getMetadata().put("preserved.register.source", "SPRING_BOOT");
register.setInstanceId("");
String serviceName = register.getServiceName();
if (StringUtils.isEmpty(serviceName)){
if (StringUtils.isEmpty(applicationName)){
throw new AutoRegisterException("serviceName notNull");
}
serviceName = applicationName;
}
try {
namingService.registerInstance(serviceName, register.getGroupName(),
register);
logger.info("Finished auto register service : {}, ip : {}, port : {}",
serviceName, register.getIp(), register.getPort());
} catch (NacosException e) {
throw new AutoRegisterException(e);
}
}
@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(WebServerInitializedEvent event) {
int httpPort = event.getWebServer().getPort();
if (grpcProperties.getRegistryHttpPort() == 0) {
if (httpPort != 0) {
grpcProperties.setRegistryHttpPort(httpPort);
}
}
}
@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();
}
@Override
public void onApplicationEvent(WebServerInitializedEvent webServerInitializedEvent) {
this.port = webServerInitializedEvent.getWebServer().getPort();
if (this.port > 0) {
simple.getLocal()
.setUri(URI.create("http://"
+ this.inet.findFirstNonLoopbackHostInfo().getHostname() + ":"
+ this.port));
}
}
@Override
public void onApplicationEvent(WebServerInitializedEvent webServerInitializedEvent) {
port = webServerInitializedEvent.getWebServer().getPort();
if (port > 0) {
simple.getLocal().setUri(URI.create("http://"
+ inet.findFirstNonLoopbackHostInfo().getHostname() + ":" + port));
}
}
@Override
public void onApplicationEvent(ApplicationEvent event) {
if (event instanceof WebServerInitializedEvent) {
onApplicationEvent((WebServerInitializedEvent) event);
}
else if (event instanceof ContextClosedEvent) {
onApplicationEvent((ContextClosedEvent) event);
}
}
public void onApplicationEvent(WebServerInitializedEvent event) {
// TODO: take SSL into account
String contextName = event.getApplicationContext().getServerNamespace();
if (contextName == null || !contextName.equals("management")) {
int localPort = event.getWebServer().getPort();
if (this.port.get() == 0) {
log.info("Updating port to " + localPort);
this.port.compareAndSet(0, localPort);
start();
}
}
}
@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) {
// TODO Auto-generated method stub
this.event = event;
}
@Override
public void onApplicationEvent(WebServerInitializedEvent event) {
serverPort = event.getWebServer().getPort();
}
@EventListener(WebServerInitializedEvent.class)
public void onWebServerReady(WebServerInitializedEvent event) {
System.out.println("当前 WebServer 实现类为:" + event.getWebServer().getClass().getName());
}
@Override
public void onApplicationEvent(WebServerInitializedEvent event) {
this.serverPort = event.getWebServer().getPort();
}
@Override
public void onApplicationEvent(WebServerInitializedEvent e) {
localPort = e.getWebServer().getPort();
logger.info("after runtime init, local server port: {}", localPort);
}
@EventListener
public void onApplicationEvent(WebServerInitializedEvent aEvt)
{
port = aEvt.getWebServer().getPort();
}
@EventListener
public void onApplicationEvent(WebServerInitializedEvent aEvt) {
port = aEvt.getWebServer().getPort();
}
@Override
public void initialize(ConfigurableApplicationContext applicationContext) {
applicationContext.addApplicationListener((ApplicationListener<WebServerInitializedEvent>) event -> {
Testcontainers.exposeHostPorts(event.getWebServer().getPort());
});
}
@Override
public void onApplicationEvent(WebServerInitializedEvent event) {
this.port = event.getWebServer().getPort();
}
@Override
@SuppressWarnings("deprecation")
public void onApplicationEvent(WebServerInitializedEvent event) {
bind(event);
}
@Override
public boolean supportsEventType(Class<? extends ApplicationEvent> eventType) {
return WebServerInitializedEvent.class.isAssignableFrom(eventType)
|| ContextClosedEvent.class.isAssignableFrom(eventType);
}
@Override
public boolean supportsEventType(Class<? extends ApplicationEvent> eventType) {
return WebServerInitializedEvent.class.isAssignableFrom(eventType);
}
@Override
public void bind(WebServerInitializedEvent event) {
// do nothing so we can listen for this event in a different class
// this ensures start() can be retried if spring-retry is available
}