如何清除 Mulesoft 独立集群中的对象存储

How to clear the object store in Mulesoft standalone cluster

有什么方法可以清除 Mulesoft 独立 (4.3.0) 集群中的对象存储(默认文件持久存储)。

以下是检索配置-

<os:retrieve doc:name="Retrieve lastSuccessRunTime" doc:id="xxxx" key="lastSuccessRunTime" target="lastRunDate">
            <os:default-value ><![CDATA[#["first run"]]]></os:default-value>
        </os:retrieve>

可以通过删除对象库文件夹(.mule//objectstore)来清除对象库,然后在本地机器或单节点独立部署。 但是,这种方法不适用于集群模式 - 应用程序仍然可以检索之前在集群存储中保存的值(不知道如何检索值)。

我想重置 objectstore,以便返回默认值以检索后续过程中的所有历史数据,但现在卡住了如何清除集群中的存储。

重启集群服务器会有帮助吗(一次一台服务器,这样就不会出现中断)?还没有尝试过,因为想知道它是否是正确的方向,并且服务器中有很多应用程序可能需要很长时间才能完全重启并恢复应用程序。

我能想到的最后一种方法是创建一个执行存储清除操作的后门API..

您提到的最后一个方法 - 执行清除操作 - 是您唯一应该用来清除对象存储的方法。永远不要删除 .mule 中的文件,除非您绝对确定它们已损坏且无法恢复。这适用于 .mule 中的任何文件。如何调用由您决定。

如果您谈论的是开发环境,清理环境可能没问题,但不要尝试在生产环境中这样做,以免丢失数据。

我认为你对集群的看法是错误的。 Mule 集群的默认对象存储配置是分布式内存。这意味着数据在节点之间同步化,而不是写入磁盘。这意味着如果您一次重新启动一个节点,其他节点将保留对象存储值,正如集群设计的那样。您需要同时关闭所有节点以使其忘记对象存储。