Skip to content

Instantly share code, notes, and snippets.

@drewmace
Forked from andreldm/AprConfiguration.java
Created March 2, 2017 13:50
Show Gist options
  • Save drewmace/3efcde2b0c34cb0dd05d21d8e8d3a54d to your computer and use it in GitHub Desktop.
Save drewmace/3efcde2b0c34cb0dd05d21d8e8d3a54d to your computer and use it in GitHub Desktop.
APR on Spring Boot
import org.apache.catalina.LifecycleListener;
import org.apache.catalina.core.AprLifecycleListener;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.embedded.EmbeddedServletContainerFactory;
import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* NOTE: You also need to install APR on your system, on Arch Linux the package is called `tomcat-native`.
*/
@Configuration
public class AprConfiguration {
@Value("${server.tomcat.apr.enabled:false}")
private boolean enabled;
@Bean
public EmbeddedServletContainerFactory servletContainer() {
TomcatEmbeddedServletContainerFactory container = new TomcatEmbeddedServletContainerFactory();
if (enabled) {
LifecycleListener arpLifecycle = new AprLifecycleListener();
container.setProtocol("org.apache.coyote.http11.Http11AprProtocol");
container.addContextLifecycleListeners(arpLifecycle);
}
return container;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment