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); + } + } +} + + +