Ваши ожидания не верны.Это не является ограничением для Spring, скажем так, но является побочным эффектом работы GemFire.
Если вы настраивали экземпляр / член однорангового кэша GemFire в кластере с использованием GemFire API или чисто cache.xml
, тогда кластер не будет "запоминать" конфигурацию.
При использовании GemFire API, cache.xml
или Spring config (либо Spring XML, либо JavaConfig)конфигурация является локальной для участника.Прежде чем GemFire Служба конфигурации кластера , администраторы должны будут распределить конфигурацию (например, cache.xml
) по всем равноправным элементам, которые образуют кластер.
Затем попришла служба конфигурации кластеров , которая позволила пользователям определять свою конфигурацию, используя Gfsh .В конфигурации Spring при настройке / начальной загрузке однорангового элемента кэша кластера можно включить использование конфигурации кластера для настройки элемента, например:
<gfe:cache use-cluster-configuration="true" ... />
Как было указано здесь (bullet 4).
Однако использование Gfsh для настройки каждого объекта GemFire (Regions
, Indexes
, DiskStores
и т. Д.) Может быть довольно утомительным,особенно если у вас много регионов.Кроме того, не все разработчики хотят использовать инструмент оболочки.Некоторые команды разработчиков хотят создать версию конфигурации вместе с приложением, что имеет смысл.
Учитывая, что вы используете Spring Boot, вы должны взглянуть на Spring Boot для Pivotal GemFire , здесь .
Еще один способ запустить кластер - настроить и загрузить элементы с помощью Spring, а не Gfsh .У меня есть пример этого здесь .Конечно, вы можете запускать приложение Spring Boot из командной строки, используя Spring Boot FAT JAR.
Конечно, некоторые администраторы / операторы не позволяют командам разработчиков таким образом загружать кластер GemFire и вместо этого ожидатькомандам использовать инструменты (например, Gfsh ), предоставляемые базой данных.
Если это ваш случай, то может быть лучше разработать приложения Spring Boot, GemFire ClientCache
, подключающиеся кавтономный кластер, который был запущен с использованием Gfsh .
. Вы по-прежнему можете выполнять очень минимальную настройку, например:
start locator --name=LocatorOne
start server --name=ServerOne
start server --name=ServerTwo
...
, а затем запустить Spring Boot, клиентское приложение.управлять конфигурацией (т. е. областями, индексами и т. д.) кластера с помощью функции SDG push-конфигурации кластера .
Существует множество различных вариантов, поэтому выбор за вами.Вам нужно решить, что лучше для ваших нужд.
Надеюсь, это поможет.