Как настроить постоянство XAP GigaSpaces для ElasticSpaceDeployment ПРОГРАММНО?
Я использую GigaSpaces XAP 9.6 и хочу развернуть ElasticSpaceDeployment (PU только для пространства) программно (через Admin API), передавая конфигурации постоянства (SpaceDataSource, SpaceSynchronizationEndpoint) во время развертывания.
На данный момент я могу развернуть ElasticSpaceDeployment программно без настройки постоянства (GSM выберет схему пространства "DEFAULT" для развертывания PU). Но я не могу найти какой-либо API для настройки конфигураций постоянства или установки схемы пространства "PERSISTENT" во время развертывания.
Я попытался развернуть PU с помощью схемы "DEFAULT" и использовать UrlSpaceConfigurer для настройки постоянства, например:
GigaSpace gigaSpace = новый GigaSpaceConfigurer(новый UrlSpaceConfigurer("jini://...") .schema("постоянный") .cachePolicy(новый LruCachePolicy ()) .spaceSynchronizationEndpoint (...).spaceDataSource (...).space ()) gigaSpace ().
Я знаю, что с помощью кода выше GS вернет найденное пространство (если существует) или создаст новое (если не существует). Таким образом, этот код не пытается переконфигурировать конфигурации пространства вместо их получения.
Кроме того, при развертывании ElasticSpaceDeployment GS автоматически создаст пространство для этого PU с помощью схемы "DEFAULT" (без настроек постоянства). Так....
1) Как я могу определить конфиги персистентности для PU ElasticSpaceDeployment во время развертывания?
2) Или, как мне перенастроить конфиги постоянства пространства? (разверните его и перенастройте позже)
Спасибо за вашу помощь!
1 ответ
скопируйте $GSHOME/deploy/templates/datagrid в новую папку (/myproject/datagrid-persistency) и измените META-INF\spring\pu.xml, чтобы включить конфигурацию постоянства. http://wiki.gigaspaces.com/wiki/display/XAP96/Asynchronous+Persistency+with+the+Mirror
Вместо ElasticSpaceDeployment используйте ElasticStatefulProcessingUnitDeployment и укажите в качестве параметра файл, указывающий на папку / myproject / datagrid-persistency. http://www.gigaspaces.com/docs/JavaDoc9.6/org/openspaces/admin/pu/elastic/ElasticStatefulProcessingUnitDeployment.html
public void deploy (GridServiceManager gsm, String tenantName) { gsm.deploy( new ElasticStatefulProcessingUnitDeployment("/myproject/datagrid-persistency") .name(tenantName)) }