Co jeśli pula wątków jest zajęta? – RejectedExecutionHandler

Aby przyśpieszyć wydajność naszych aplikacji bardzo często decydujemy się na zrównoleglenie pracy. Przy zmianie modelu pracy dostarczamy pulę wątków, która będzie odpowiedzialna za równoległe wykonywanie zadań. Czasami jednak przy pracy w wielowątkowym środowisku może zdarzyć się sytuacja, w której wysycimy całą pulę wątków. Java dostarcza mechanizmy (polityki), które instruują pulę jak ma się zachować w przypadku wysycenia zasobów.

Czytaj dalej


#7 Spring Boot 2 – Lazy Loading – szybsze ładowanie aplikacji

Kolejna nowa funkcjonalność/usprawnienie, która udostępniona będzie w wersji 2.2.0 frameworku Spring Boot 2 dotyczyć będzie szybszego startowania aplikacji. Autorzy Spring’a dostarczyli nowy wpis, który można umieścić w pliku application.properties. Wpis ten sprawi, iż nasza aplikacja będzie uruchamiać się szybciej. Zapraszam do lektury, aby dowiedzieć się co to za nowy wpis!

Czytaj dalej


#6 Spring Boot 2 – WebMvc.fn

Wraz ze Spring Boot 2 w wersji 2.2.0 pojawiła się nowa funkcjonalność WebMvc.fn. Jest to implementacja funkcyjnego podejścia do definiownia endpointów podobnie jak jest to realizowane przy wykorzystaniu Spring WebFlux o czym można było przeczytać w jednym z naszych artykułów #1 Spring Boot 2 – Router functions. Dziś sprawdzimy jak to funkcyjne podejście sprawdzi się w klasycznym stosie MVC.

Czytaj dalej


#5 Spring Boot 2 – Graceful Shutdown

Graceful Shutdown jest mechanizmem, który pozwala na zamknięcie aplikacji w “poprawny” sposób. Ale co tak naprawdę oznacza, że zamykamy aplikację w “poprawny” sposób? Odpowiedzi na to pytanie będziemy szukać w dzisiejszym artykułe. Implementację mechanizmu Graceful Shutdown oprzemy na przykładzie aplikacji napisanej przy wykorzystaniu Spring Boot 2.

Czytaj dalej


#4 Spring Boot 2 – Actuator – własny endpoint

W poprzednim wpisie #3 Spring Boot 2 – Actuator poznaliśmy narzędzie actuator. Jest to narzędzie, które dostarcza metryki oraz dodatkowe informacje na temat aplikacji. Out-of-the-box actuator daje nam między innymi możliwość sprawdzenia metryk wirtualnej maszyny Javy czy statusu naszej aplikacji. Jednakże, czasem potrzebujemy dodać własny adres dostarczający dodatkowe informacje o naszej aplikacji.

Czytaj dalej


#3 Spring Boot 2 – Actuator

Autorzy rozwiązania Spring Boot bardzo mocno stawiają na fakt, iż aplikacja napisana z wykorzystaniem ich frameworku powinna być production-ready. Zgodnie z 12 factor manifesto, apikacja sama w sobie powinna dostarczać informacji na temat swojej telemetrii. Projekt actuator jest mechanizmem zbliżającym nas do pojęcia  production-ready. Dostarcza on podstawowe metryki oraz informacje na temat aplikacji.

Czytaj dalej