Only use AprLifecycleListener when native library is available
Closes gh-16040
This commit is contained in:
parent
db4623c519
commit
22c9364237
|
|
@ -22,7 +22,6 @@ import java.nio.charset.StandardCharsets;
|
|||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.catalina.Context;
|
||||
|
|
@ -67,8 +66,7 @@ public class TomcatReactiveWebServerFactory extends AbstractReactiveWebServerFac
|
|||
|
||||
private List<Valve> engineValves = new ArrayList<>();
|
||||
|
||||
private List<LifecycleListener> contextLifecycleListeners = new ArrayList<>(
|
||||
Collections.singleton(new AprLifecycleListener()));
|
||||
private List<LifecycleListener> contextLifecycleListeners = getDefaultLifecycleListeners();
|
||||
|
||||
private List<TomcatContextCustomizer> tomcatContextCustomizers = new ArrayList<>();
|
||||
|
||||
|
|
@ -95,6 +93,13 @@ public class TomcatReactiveWebServerFactory extends AbstractReactiveWebServerFac
|
|||
super(port);
|
||||
}
|
||||
|
||||
private static List<LifecycleListener> getDefaultLifecycleListeners() {
|
||||
AprLifecycleListener aprLifecycleListener = new AprLifecycleListener();
|
||||
return AprLifecycleListener.isAprAvailable()
|
||||
? new ArrayList<>(Arrays.asList(aprLifecycleListener))
|
||||
: new ArrayList<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public WebServer getWebServer(HttpHandler httpHandler) {
|
||||
Tomcat tomcat = new Tomcat();
|
||||
|
|
|
|||
|
|
@ -111,8 +111,7 @@ public class TomcatServletWebServerFactory extends AbstractServletWebServerFacto
|
|||
|
||||
private List<Valve> contextValves = new ArrayList<>();
|
||||
|
||||
private List<LifecycleListener> contextLifecycleListeners = new ArrayList<>(
|
||||
Collections.singleton(new AprLifecycleListener()));
|
||||
private List<LifecycleListener> contextLifecycleListeners = getDefaultLifecycleListeners();
|
||||
|
||||
private List<TomcatContextCustomizer> tomcatContextCustomizers = new ArrayList<>();
|
||||
|
||||
|
|
@ -155,6 +154,13 @@ public class TomcatServletWebServerFactory extends AbstractServletWebServerFacto
|
|||
super(contextPath, port);
|
||||
}
|
||||
|
||||
private static List<LifecycleListener> getDefaultLifecycleListeners() {
|
||||
AprLifecycleListener aprLifecycleListener = new AprLifecycleListener();
|
||||
return AprLifecycleListener.isAprAvailable()
|
||||
? new ArrayList<>(Arrays.asList(aprLifecycleListener))
|
||||
: new ArrayList<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public WebServer getWebServer(ServletContextInitializer... initializers) {
|
||||
Tomcat tomcat = new Tomcat();
|
||||
|
|
|
|||
|
|
@ -82,8 +82,13 @@ public class TomcatReactiveWebServerFactoryTests
|
|||
@Test
|
||||
public void defaultTomcatListeners() {
|
||||
TomcatReactiveWebServerFactory factory = getFactory();
|
||||
assertThat(factory.getContextLifecycleListeners()).hasSize(1).first()
|
||||
.isInstanceOf(AprLifecycleListener.class);
|
||||
if (AprLifecycleListener.isAprAvailable()) {
|
||||
assertThat(factory.getContextLifecycleListeners()).hasSize(1).first()
|
||||
.isInstanceOf(AprLifecycleListener.class);
|
||||
}
|
||||
else {
|
||||
assertThat(factory.getContextLifecycleListeners()).isEmpty();
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
|
|
@ -134,8 +134,13 @@ public class TomcatServletWebServerFactoryTests
|
|||
@Test
|
||||
public void defaultTomcatListeners() {
|
||||
TomcatServletWebServerFactory factory = getFactory();
|
||||
assertThat(factory.getContextLifecycleListeners()).hasSize(1).first()
|
||||
.isInstanceOf(AprLifecycleListener.class);
|
||||
if (AprLifecycleListener.isAprAvailable()) {
|
||||
assertThat(factory.getContextLifecycleListeners()).hasSize(1).first()
|
||||
.isInstanceOf(AprLifecycleListener.class);
|
||||
}
|
||||
else {
|
||||
assertThat(factory.getContextLifecycleListeners()).isEmpty();
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
Loading…
Reference in New Issue