我维护一个使用Jacob或 Java-COM Bridge 的遗留 Java 应用程序,通过 MS VBA 和 MS Word 的 COM 接口进行调用。我一直在看 Sun 的com4j,它看起来很有希望。
它对我来说看起来不错的原因是它使用 vtable 绑定到方法,而不是 IDispatch。假设我们操作的所有 COM 对象都存在 vtable 接口,使用它们而不是 IDispatch 似乎更简洁。回到 COM 和 CORBA 成为热门二进制接口技术的时代,我似乎记得通过 vtable 进行的早期绑定比通过 IDispatch 进行的后期绑定提供了更好的性能。
有人从 Jacob 迁移到 com4j 吗?如果是这样,有哪些陷阱和经验教训?