MS Java/COM集成
同C++/COM措施员对比,Microsoft Java编译器、虚拟机以及各式百般的东西极大简化了Java/COM措施员的事情。编译器有非凡的引导呼吁和包,可将Java类看成COM类看待。但在大大都环境下,我们只需依赖Microsoft JVM为COM提供的支持,同时操作两个有力的外部东西。
Microsoft Java Virtual Machine(JVM)在COM和Java工具之间饰演了一座桥梁的脚色。若将Java工具建设成一个COM处事器,那么我们的工具仍然会在JVM内部运行。Microsoft JVM是作为一个DLL实现的,它向操纵系统展示出了COM接口。在内部,JVM将对这些COM接口的函数挪用映射成Java工具中的要领挪用。虽然,JVM必需知道哪个Java类文件对应于处事器执行模块;之所以可以或许找出这方面的信息,是由于我们事前已用Javareg在Windows注册表内注册了类文件。Javareg是与Microsoft Java SDK配套提供的一个东西措施,能读入一个Java类文件,生成相应的范例库以及一个GUID,并可将类注册到系统内。亦可用Javareg注册长途处事器。譬喻,可用它注册在差异呆板上运行的一个处事器。
假如想写一个Java/COM客户,必需经验一系列差异的步调。Java/COM“客户”是一些非凡的Java代码,它们想激活和利用系统内注册的一个COM处事器。同样地,虚拟时机与COM处事器相同,并将它提供的处事作为Java类内的各类要领展示(展现)出来。另一个Microsoft东西是jactivex,它能读取一个范例库,并生成相应的Java源文件,在个中包括非凡的编译器引导呼吁。生成的源文件属于我们在指定范例库之后定名的一个包的一部门。下一步是在本身的COM客户Java源文件中导入谁人包。
接下来让我们接头两个例子。