У нас есть (новая) настройка сборки с веб-сервером H2, запускающимся с использованием следующего bean-компонента Spring:
<bean id="org.h2.tools.Server-WebServer" class="org.h2.tools.Server"
factory-method="createWebServer" depends-on="dataSource" init-method="start"
lazy-init="false">
<constructor-arg value="-web,-webPort,8082" />
</bean>
Это отлично работает для трех других разработчиков (которые все работают под Mac или Linux), но плохо на моем ноутбуке с Windows, возникают проблемы при перезапуске Jetty после обнаружения изменений в коде:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name
'org.h2.tools.Server-WebServer' defined in ServletContext resource [/WEB-INF/spring/appServlet/controllers.xml]:
Invocation of init method failed; nested exception is org.h2.jdbc.JdbcSQLException:
Exception opening port "8082" (port may be in use), cause: "java.net.BindException: Address already in use: JVM_Bind" [90061-154]
Теория заключается в том, что порт не высвобождается должным образом, когда Jetty подает сигнал на перезагрузку и / илиH2 не использует порт повторно.
Теперь мой вопрос: как я могу это исправить?Я подумал, что это будет общая проблема, но я ничего не мог найти об этом.