Я использовал несколько похожее решение в соответствии со своими потребностями в Spring MVC. Может быть, это может помочь кому-то здесь.
Запустить Socket Port при запуске сервера. Я использовал аннотацию @scheduler, тогда как вы можете использовать решение на основе слушателя. Вы также можете реализовать слушатель ApplicationContextAware и получить доступ к другим компонентам приложения из него.
</p>
<pre><code>@Scheduled(fixedDelay = 1000 * 60 * 60 * 24 * 365)
public void startListenerPort() {
ServerSocket socket = new ServerSocket(9999);
// do some stuff here
}
Просто убедитесь, что вы разрешили TCP-трафик через порт, назначенный для сокета (настройки брандмауэра).
Таким образом, вы можете иметь TCP-трафик на порту 9999, где ваш сервер приложений будет продолжать работать на другом порту, как обычно.