Mam aplikację Spring Boot wdrożoną w zewnętrznym kontenerze Tomcat (bez użycia osadzonego kontenera) i próbuję ustawić napęd. Problem w tym, że management.port
w application.properties
nie wydaje się być honorowany przez Tomcat. Kiedy uruchamiam Spring Boot z wbudowanym Tomcat, działa dobrze.Port aktywatora sprężynowego po zainstalowaniu na zewnętrznym kontenerze Tomcat
na przykład ma następujący zestaw w application.properties
:
management.port=9010
punktów końcowych robocze dla osadzonego kontenera
http://localhost:9010/health
dla -Praca punkty końcowe do pojemnika zewnętrznego uruchomione na porcie 8080
http://localhost:9010/health
http://localhost:8080/health
http://localhost:9010/<appName>/health
http://localhost:8080/<appName>/health
Czy istnieje specjalna konfiguracja muszę w pojemniku Tomcat narazić Punkt końcowy siłownika sprężyny rozruchowej?
Próbowałem ustawić zmienną środowiskową MANAGEMENT_PORT
. Większość (prawie cała) dostępna dokumentacja używa wbudowanego Tomcata, więc znalezienie tego problemu okazało się trudnym zadaniem.
Trzeci komentarz dotyczący tej odpowiedzi dostarczył pewnej możliwej wglądu: https://stackoverflow.com/a/28689853/2601060, która wskazuje na plik GitHub wskazujący, że jeśli port zarządzania nie jest ustawiony, będzie taki sam, jak port serwera.
Opublikowany link zawiera odpowiedź wyjaśniającą, że dla aktora jest używane oddzielne wystąpienie podczas używania wbudowanego tomcat. Prawdopodobnie to nie zadziała przy wdrażaniu zewnętrznego tomcat. Być może istnieje sposób, aby osiągnąć to, co chcesz zrobić, ale musi to być zewnętrzna konfiguracja kociego tomcat, właściwości wbudowanego tomcat nie będą działać. –
@ci_ dzięki za odpowiedź - czy wiesz o jakimkolwiek sposobie konfiguracji tego w zewnętrznym tomcat? – mnd
Niestety nie, lub bym opublikował odpowiedź. Właśnie skomentowałem, aby wskazać ci właściwy kierunek. Używamy tu osobnej ścieżki kontekstowej dla aktorów, a nie oddzielnego portu. –