From 1c4085ce51bda915bf437c5b17632e5d953a41f0 Mon Sep 17 00:00:00 2001 From: Mei Chang van der Werff Date: Fri, 16 Jan 2026 03:30:37 +0100 Subject: [PATCH] actually set the prgram to the free port --- .../java/server/ServerPortCustomizer.java | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 server/src/main/java/server/ServerPortCustomizer.java diff --git a/server/src/main/java/server/ServerPortCustomizer.java b/server/src/main/java/server/ServerPortCustomizer.java new file mode 100644 index 0000000..ada203a --- /dev/null +++ b/server/src/main/java/server/ServerPortCustomizer.java @@ -0,0 +1,29 @@ + +package server; + +import org.springframework.boot.web.server.ConfigurableWebServerFactory; +import org.springframework.boot.web.server.WebServerFactoryCustomizer; +import org.springframework.stereotype.Component; + +@Component +public class ServerPortCustomizer implements WebServerFactoryCustomizer{ + /** + * Changes the port that will be used to launch the program + * made with the help of: https://www.baeldung.com/spring-boot-change-port + * @param factory + */ + @Override + public void customize(ConfigurableWebServerFactory factory) { + try { + PortChecker portChecker = new PortChecker(); + int port = portChecker.findFreePort(); + factory.setPort(port); + System.out.println("Server starts on port: " + port); + } catch (Exception e) { + throw new RuntimeException("Failed to find a free port", e); + } + } +} + + +