2010-10-29 65 views
5

像j-Integra,com4j和Jacob等适用于J2EE容器的可用Java-COM桥梁是否适合?哪一个最适合这种用途?我需要评估JVM崩溃,本机内存泄漏和非托管线程创建的风险(因为它不推荐在J2EE容器中使用线程池)以用于今天可用的可用Java-COM桥接器。从J2EE服务器访问COM接口的最佳方法是哪种?

+1

我已经做了一些研究,发现不使用本地代码的j-Interop库(它是使用RPC的纯Java)。它似乎是比其他Java-COM桥梁更适合在J2EE服务器上使用的解决方案。 – 2010-10-29 16:27:10

+0

您可以选择将您的评论发布为您的问题的答案。如果能解决您的问题,您甚至可以自由接受。 – 2010-10-29 18:00:12

+0

@Adam:我发布了一条评论而不是答案,因为我还不确定是否j-Interop可以被视为“J2EE友好”。 – 2010-10-29 19:21:57

回答

5

我已经使用过你提到的那些桥。我会选择一种非常不同的方法,因为你所说的话:崩溃,内存泄漏以及其他许多东西。

我会有一个Windows Server,使用COM组件,因为它是它的本地环境。在这个小Windows Server中,您可以公开一些HTTP接口(WEB请求),您可以在Java EE服务器中使用它们通过Windows Server访问COM组件。 Windows Server可以是带有ASP.NET服务器的IIS,也可以是可以用C#,C++,C,VB.NET编写的专有协议的自定义程序。

这是在我看来,你最安全的选择。当你进入生产模式时,它会为你节省很多麻烦。

+0

这是一个非常有趣的方法。 IIS上的Web服务可以安全地将COM接口封装到J2EE服务器。 – 2010-10-29 16:21:57

0

您需要使用JAVA-COM网桥的原因之一是您需要一些基于Unix的功能,这在Unix系统中是不可用的。几年前,它没有MS WORD,EXCEL JAVA API在Unix上可用。所以如果可能的话,尝试使用本地JAVA API来实现基于Windows的功能。就像使用APACHE POI一样。在具有高安全性设置的机器上设置J-Integra非常棘手,需要特别考虑。