All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.zodiac.autoconfigure.web.server.shutdown.WebServerTomcatShutdownAutoConfiguration Maven / Gradle / Ivy

package org.zodiac.autoconfigure.web.server.shutdown;

import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.context.annotation.Bean;
import org.zodiac.autoconfigure.application.condition.ConditionalOnApplicationShutdownEnabled;
import org.zodiac.autoconfigure.application.shutdown.AppShutdownConfigProperties;

@SpringBootConfiguration
@ConditionalOnWebApplication
@ConditionalOnApplicationShutdownEnabled
@ConditionalOnClass(value = {org.apache.catalina.startup.Tomcat.class, org.apache.catalina.connector.Connector.class})
public class WebServerTomcatShutdownAutoConfiguration {

    public WebServerTomcatShutdownAutoConfiguration() {
        super();
    }

    @Bean
    @ConditionalOnMissingBean
    protected org.zodiac.core.web.server.shutdown.TomcatAppShutdown tomcatAppShutdown(AppShutdownConfigProperties appShutdownConfigProperties) {
        return new org.zodiac.core.web.server.shutdown.TomcatAppShutdown(appShutdownConfigProperties);
    }

    @Bean
    protected WebServerFactoryCustomizer tomcatServletCustomizer(org.zodiac.core.web.server.shutdown.TomcatAppShutdown tomcatShutdown) {
        return factory -> factory.addConnectorCustomizers(tomcatShutdown);
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy