如何使 OpenDDS DCPSInfoRepo 持久化?

问题描述

我一直在寻找一种解决方案,如果 OpenDDS 的 DcpsInfoRepo 重新启动,现有的发布者和订阅者不会重新连接。我在开发人员指南中找到了一种方法

以下指令: 静态 PersistenceUpdater_Static_Service "-file info.pr -reset 1" 将 DcpsInfoRepo 更新持久化到本地文件 info.pr。如果同名的文件已经存在, 其内容将被删除。与命令行选项 -r 一起使用,DcpsInfoRepo 可以是 转世到先前的状态。使用持久性时,使用以下命令启动 DcpsInfoRepo 进程 带有以下命令行选项的 TCP 固定端口号。这允许现有 客户端重新连接到重新启动的 InfoRepo。

所以我创建了一个 svc.conf 文件,并在启动 DcpsInfoRepo 时将其作为参数与标志 -ORBSvcConf 一起提供。不幸的是,我收到一条错误消息,指出未找到 PersistenceUpdater_Static_Service。我曾尝试在文档以及互联网上的其他地方进行搜索,但到目前为止一直不走运。

如果有人可以帮助解决此问题,我们将不胜感激。

解决方法

在 svc.conf 文件中使用 static PersistenceUpdaterSvc "-file info.pr"