У меня есть приложение Spring Boot, которое я использую для запуска Pivotal GemFire CacheServer
.
Когда я создаю файл и запускаю его локально:
java -jar gemfire-server-0.0.1-SNAPSHOT.jar
Работает нормально без проблем. Сервер использует свойства по умолчанию
spring.data.gemfire.cache.log-level=info
spring.data.gemfire.locators=localhost[10334]
spring.data.gemfire.cache.server.port=40404
spring.data.gemfire.name=CacheServer
spring.data.gemfire.cache.server.bind-address=localhost
spring.data.gemfire.cache.server.host-name-for-clients=localhost
Если я разверну это в дистрибутиве Centos и запущу его с тем же скриптом, но с прохождением «тестового» профиля:
java -jar gemfire-server-0.0.1-SNAPSHOT.jar -Dspring.profiles.active=test
с моим тестовым профилем application-test.properties
, выглядящим так:
spring.data.gemfire.cache.server.host-name-for-clients=server.centralus.cloudapp.azure.com
Я вижу при запуске, что сервер находит Локатор уже запущенным на хосте (запускаю его через отдельный процесс с Gfsh).
Сервер даже присоединяется к кластеру примерно на минуту. Но затем он выключается из-за исключения привязки.
Я проверил, работает ли что-нибудь на этом порту (40404) - и ничего не появляется.
ИЗМЕНИТЬ
По-видимому, я ДЕЙСТВИТЕЛЬНО получаю это исключение локально - просто это занимает намного больше времени.
Это почти мгновенно, когда я запускаю его в дистрибутиве Centos. На моем Mac требуется около 2 минут, прежде чем процесс выдаст исключение:
Добавлю еще несколько изображений этого:
Два окна bash - левое отслеживает GF локально, а правое я использую для проверки порта и запуска процесса Java:
Сервер добавляется в кластер. Обратите внимание на отметку времени 16:45:05.
Вот добавленный сервер, и он работает:
Наконец, исключение примерно через две минуты — снова посмотрите на временную метку исключения — 16:47:09. Сервер остановлен и исключен из кластера.