Aplikacja Spring Boot na zewnętrznym Apache Tomcat


Aplikacja Spring Boot na zewnętrznym Apache Tomcat

Wbudowany kontener servletów w Spring Boot ułatwia projektowanie aplikacji uwalniając programistę od konieczności utrzymywania i konfiguracji dodatkowego serwera. Wadą tego rozwiązania jest to, że nie postawimy np. na jednym serwerze więcej niż jednej aplikacji. Co zatem trzeba zrobić, aby wdrożyć swój projekt na zewnętrznym serwerze? W pliku pom.xml należy wyłączyć wbudowanego Tomcata:

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web</artifactId>
     <exclusions>
         <exclusion>
             <artifactId>tomcat-embed-el</artifactId>
             <groupId>org.apache.tomcat.embed</groupId>
         </exclusion>
         <exclusion>
             <artifactId>tomcat-embed-core</artifactId>
             <groupId>org.apache.tomcat.embed</groupId>
         </exclusion>
         <exclusion>
             <artifactId>tomcat-embed-websocket</artifactId>
             <groupId>org.apache.tomcat.embed</groupId>
         </exclusion>
     </exclusions>
</dependency>

oraz modyfikować klasę startową:

@SpringBootApplication
public class UnicodeConverterApplication extends SpringBootServletInitializer{
    /*
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(UnicodeConverterApplication.class);
    }
     */
    public static void main(String[] args) throws Exception {
        SpringApplication.run(UnicodeConverterApplication.class, args);
    }
}

Uwaga: należy do wdrażania swojej aplikacji używać pliku .original. Ten drugi posiada również spakowane biblioteki wbudowanego Tomcata co jest w tym przypadku zbędne.


Leave a comment

Your email address will not be published.


*