Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从J2EE服务器访问COM接口的最佳方式是什么?_Java_Com_Jakarta Ee_Com Interop - Fatal编程技术网

Java 从J2EE服务器访问COM接口的最佳方式是什么?

Java 从J2EE服务器访问COM接口的最佳方式是什么?,java,com,jakarta-ee,com-interop,Java,Com,Jakarta Ee,Com Interop,像j-Integra、com4j和Jacob等可用的javacom网桥是否适合在J2EE容器中使用?哪一个最适合这个用途?我需要评估JVM崩溃、本机内存泄漏和非托管线程创建(因为在使用线程池的J2EE容器中不建议这样做)的风险,以评估当前可用的Java COM桥。我使用了您提到的那些桥。我会选择一个非常不同的方法,因为你说的事情:崩溃,内存泄漏,还有很多其他的东西 我会有一个小的Windows服务器,使用COM组件,因为它是它的原生环境。在这个小小的Windows服务器中,您可以公开一些HTTP

像j-Integra、com4j和Jacob等可用的javacom网桥是否适合在J2EE容器中使用?哪一个最适合这个用途?我需要评估JVM崩溃、本机内存泄漏和非托管线程创建(因为在使用线程池的J2EE容器中不建议这样做)的风险,以评估当前可用的Java COM桥。

我使用了您提到的那些桥。我会选择一个非常不同的方法,因为你说的事情:崩溃,内存泄漏,还有很多其他的东西

我会有一个小的Windows服务器,使用COM组件,因为它是它的原生环境。在这个小小的Windows服务器中,您可以公开一些HTTP接口(WEB请求),您可以在JavaEE服务器中使用这些接口通过Windows服务器访问COM组件。Windows服务器可以是ASP.NET服务器的IIS,或者是一个定制程序,它可以用C语言编写,C++,C,VB,net。
在我看来,这是你最安全的选择。当您进入生产模式时,它将为您省去很多麻烦。

您需要使用JAVA-COM桥接器的原因之一是您需要一些基于Windows的功能,而这些功能在基于Unix的系统中是不可用的。几年前,Unix上没有MS WORD,EXCEL JAVA API可用。因此,如果可能,尝试使用本机JavaAPI来实现基于Windows的功能。比如使用ApachePOI。在具有高安全性设置的机器上设置J-Integra非常棘手,需要特别注意。

这是一种非常有趣的方法。IIS上的Web服务可以安全地将COM接口封装到J2EE服务器。与其他Java COM桥接器相比,它似乎更适合在J2EE服务器上使用。如果它解决了您的问题,您甚至可以自由地接受它。@Adam:我发布了一条评论而不是答案,因为我还不确定j-Interop是否可以被视为“J2EE友好”。在我的测试中,我发现j-Interop启动了非托管子线程。这不适合在具有由线程池管理的线程的J2EE服务器中使用。