艾达 + POlyORB : lookup failed in the naming server

标签 ada

我正在尝试使用 DSA 在 Ada 中构建分布式应用程序,经过数小时的反复试验,我终于设法让它正确编译。但是,现在我在命名服务器方面遇到了问题。

我的应用程序由两个分区组成:一个承载简单的 RCI 单元,另一个是调用 RCI 单元的客户端。编译后,我通过调用 po_con_naming 启动名称服务器,它正确出现

然后我启动对应于我的 RCI 分区的可执行文件,这就是问题出现的地方。在名称服务器控制台上,这些行出现,大约每秒一条:

cosnaming.namingcontext: look for "AAAA polyorb.dsa_p.partitions        RCI;"
cosnaming.namingcontext: look for "AAAA polyorb.dsa_p.partitions        RCI;"
cosnaming.namingcontext: look for "AAAA polyorb.dsa_p.partitions        RCI;"
cosnaming.namingcontext: look for "AAAA polyorb.dsa_p.partitions        RCI;"
cosnaming.namingcontext: look for "AAAA polyorb.dsa_p.partitions        RCI;"
cosnaming.namingcontext: look for "AAAA polyorb.dsa_p.partitions        RCI;"
cosnaming.namingcontext: look for "AAAA polyorb.dsa_p.partitions        RCI;"
cosnaming.namingcontext: look for "AAAA polyorb.dsa_p.partitions        RCI;"
cosnaming.namingcontext: look for "AAAA polyorb.dsa_p.partitions        RCI;"
cosnaming.namingcontext: look for "AAAA polyorb.dsa_p.partitions        RCI;"
cosnaming.namingcontext: look for "AAAA polyorb.dsa_p.partitions        RCI;"

之后 RCI 分区可执行文件打印:

raised SYSTEM.RPC.COMMUNICATION_ERROR : lookup of RCI polyorb.dsa_p.partitions failed

并关闭

所以基本上,命名服务器得到联系,但它找不到那个分区。请注意,该分区不是我的应用程序的一部分,我假设它是 po_gnatdist 编译器添加的东西,但我无法理解这里失败的原因。

我没有发布代码,因为它有点大,如果需要对此进行调试,请告诉我,我会尝试将其缩减为较小的示例。

最佳答案

好吧,我在发布后不久就发现了问题。

在我的 DSA 配置文件中,我将“主要”过程指定为客户端中的过程。事实证明,它需要在“服务器”中,即:在公开 RCI 包的分区中。

关于艾达 + POlyORB : lookup failed in the naming server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24985828/

相关文章:

Ada 函数与过程

generics - 如何使用子包/通用包实例化中的类型

ide - 如何在 GPS 中运行 Ada 代码

c - GNAT Ada 中的 ioctl TIOCGWINSZ 返回 errno 25,但 C 程序工作正常

string - 将无界字符串转换为整数 Ada

在win32(xp、vista等)中将Lua绑定(bind)到Ada?

ada - "Subtype mark required in this context"到底是什么?

Ada Gnat 项目,其中包含针对不同构建配置的不同名称的文件

Ada GNAT 证明 1 不是 >= 0

ada - 这是 GNAT Ada 中 UTF 转换的错误吗