【问题标题】:Java class names compatibleJava 类名兼容
【发布时间】:2012-01-23 14:00:57
【问题描述】:

我们有一个 Java 客户端,它使用 corba 调用多个第三方系统。这些是实现相同接口集的不同系统。我们提供了库(jar 文件)来使用这些接口。例如,这些库中的一个对象是

this.that.GeneralException

现在我们必须连接到另一个外部系统,但他们通过引入更多包级别来更改命名,例如:

org.example.this.that.GeneralException

我的猜测是,上面的类会被认为是完全不同的。所以我复制了旧客户端,切换到新库并根据新的命名方案更改了引用。 由于缺乏新系统的测试环境,我将该客户端与其中一个旧系统连接起来。而且,令人惊讶的是,它运作良好。

这是与 corba 相关的东西还是我在这里遗漏了什么?

编辑

刚收到一位第三方开发商的通知。实际上,这与 corba 没有任何关系。相反,他们试图保持系统的向后兼容性。因此,他们将新的命名方案映射到旧的命名方案,现在同时提供两个名称下的接口。

【问题讨论】:

    标签: java corba


    【解决方案1】:

    CORBA 的存根和骨架通常是通过 IDL 生成的。 IDL 定义的一部分定义了 Java 生成存根的情况下的包结构。通过更改客户端接口类的包结构,您基本上实现了 ORB 期望的客户端和服务器之间的约定。您遇到的唯一问题是客户端存根引用了服务器上不存在的方法。

    【讨论】:

      【解决方案2】:

      实际上,这与 corba 没有任何关系。相反,他们试图保持系统的向后兼容性。因此,他们将新的命名方案映射到旧的命名方案,现在同时提供两个名称下的接口。

      【讨论】:

        猜你喜欢
        • 2016-06-29
        • 1970-01-01
        • 2017-07-25
        • 2013-09-23
        • 1970-01-01
        • 2015-09-25
        • 2016-04-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多