下面列出了怎么用org.springframework.boot.web.context.WebServerApplicationContext的API类实例代码及写法,或者点击链接到github查看源代码。
@Bean
public ServiceDiscoveryApplicationListener serviceDiscoveryStartupListener(WebServerApplicationContext webContext,
ServiceDiscovery serviceDiscovery,
Environment environment,
InfoEndpoint infoEndpoint)
{
return new ServiceDiscoveryApplicationListener(webContext, serviceDiscovery, environment, infoEndpoint);
}
public ServiceDiscoveryApplicationListener(WebServerApplicationContext webContext,
ServiceDiscovery serviceDiscovery,
Environment environment,
InfoEndpoint infoEndpoint)
{
this.webContext = webContext;
this.serviceDiscovery = serviceDiscovery;
this.environment = environment;
this.infoEndpoint = infoEndpoint;
}
/**
* Bean to configure Armeria Tomcat service.
* @return configuration bean.
*/
@Bean
public ArmeriaServerConfigurator armeriaTomcat() {
final WebServer webServer = ((WebServerApplicationContext) applicationContext).getWebServer();
if (webServer instanceof TomcatWebServer) {
final Tomcat tomcat = ((TomcatWebServer) webServer).getTomcat();
return serverBuilder -> serverBuilder.service("prefix:/tomcat/api/rest/v1",
TomcatService.of(tomcat));
}
return serverBuilder -> { };
}
@Test
public void verifySingleConnector() {
// Relevant to Tomcat 9.0
assertThat(applicationContext).isInstanceOf(WebServerApplicationContext.class);
final WebServer webServer = ((WebServerApplicationContext) applicationContext).getWebServer();
assertThat(webServer).isInstanceOf(TomcatWebServer.class);
assertThat(((TomcatWebServer) webServer).getTomcat()
.getEngine()
.getService()
.findConnectors()).hasSize(1);
}
@Override
public WebServerApplicationContext getApplicationContext() {
return context;
}
@Override
public WebServerApplicationContext getApplicationContext() {
return context;
}