gpt4 book ai didi

java - 如何以编程方式为 ElasticSpaceDeployment 配置 GigaSpaces XAP 持久性?

转载 作者:太空宇宙 更新时间:2023-11-04 07:21:07 24 4
gpt4 key购买 nike

我正在使用 GigaSpaces XAP 9.6,并且希望通过在部署时传递持久性配置(SpaceDataSource、SpaceSynchronizationEndpoint)以编程方式(通过管理 API)部署 ElasticSpaceDeployment(仅限空间 PU)。

目前,我可以通过编程方式部署 ElasticSpaceDeployment,无需持久性配置(GSM 将选择“DEFAULT”空间架构来部署 PU)。但我找不到任何 API 来设置持久性配置或在部署时将空间架构设置为“PERSISTENT”。

我尝试使用“DEFAULT”架构部署 PU 并使用 UrlSpaceConfigurer 来配置持久性,如下所示:

GigaSpace gigaSpace = new GigaSpaceConfigurer(new UrlSpaceConfigurer("jini://...") .schema(“持久”) .cachePolicy(new LruCachePolicy()) .spaceSynchronizationEndpoint(...) .spaceDataSource(...) .space()).gigaSpace();

我知道使用上面的 GS 代码将返回找到的空间(如果存在)或创建新的空间(如果不存在)。因此,这段代码并不是试图重新配置空间配置,而是获取它们。

此外,当我部署 ElasticSpaceDeployment 时,GS 将自动使用“DEFAULT”架构(没有持久性配置)为此 PU 创建空间。所以....

1) 如何在部署时定义 ElasticSpaceDeployment PU 的持久性配置?

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

  2. 使用 ElasticStatefulProcessingUnitDeployment 代替 ElasticSpaceDeployment,并提供指向/myproject/datagrid-persistency 文件夹的文件作为参数。 http://www.gigaspaces.com/docs/JavaDoc9.6/org/openspaces/admin/pu/elastic/ElasticStatefulProcessingUnitDeployment.html#ElasticStatefulProcessingUnitDeployment(java.io.File)

    public void deploy (GridServiceManager gsm, String tenantName) {

    gsm.deploy(
    new ElasticStatefulProcessingUnitDeployment("/myproject/datagrid-persistency")
    .name(tenantName))

    }

关于java - 如何以编程方式为 ElasticSpaceDeployment 配置 GigaSpaces XAP 持久性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19313788/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com