2010-10-29 8 views
5

Sind die verfügbaren Java-COM-Bridges wie j-Integra, com4j und Jacob und andere für die Verwendung in einem J2EE-Container geeignet? Welcher ist für diesen Zweck am besten geeignet? Ich muss das Risiko von JVM-Abstürzen, nativem Speicherleck und nicht verwalteten Thread-Erstellung (da dies in einem J2EE-Container, der Thread-Pools verwendet, nicht empfohlen wird) für die verfügbaren Java-COM-Bridges, die heute verfügbar sind, bewerten.Welcher ist der beste Weg, um von einem J2EE-Server auf COM-Schnittstellen zuzugreifen?

+1

Ich habe einige Nachforschungen angestellt und die j-Interop-Bibliothek gefunden, die keinen nativen Code verwendet (es ist reines Java mit RPC). Es scheint eine geeignetere Lösung für den Einsatz auf einem J2EE-Server als die anderen Java-COM-Brücken zu sein. –

+0

Sie haben die Möglichkeit, Ihren Kommentar als Antwort auf Ihre Frage zu veröffentlichen. Sie können es sogar akzeptieren, wenn es Ihr Problem löst. –

+0

@Adam: Ich habe einen Kommentar anstelle einer Antwort gepostet, weil ich mir noch nicht sicher bin, ob j-Interop als "J2EE-freundlich" betrachtet werden kann. –

Antwort

5

Ich habe die erwähnten Brücken benutzt. Ich würde einen ganz anderen Ansatz wählen, wegen der Dinge, die du gesagt hast: Abstürze, Mem-Leaks und viele andere Dinge.

Ich hätte ein wenig Windows Server, COM-Komponenten verwenden, da es seine native Umgebung ist. In diesem kleinen Windows Server können Sie einige HTTP-Schnittstellen (WEB-Anforderungen) verfügbar machen, die Sie in Ihrem Java EE-Server verwenden können, um über Windows Server auf COM-Komponenten zuzugreifen. Dieser Windows-Server kann ein IIS mit ASP.NET-Server oder ein benutzerdefiniertes Programm mit einem proprietären Protokoll sein, das Sie in C#, C++, C, VB.NET schreiben können.

Es ist meiner Meinung nach Ihre sicherste Wahl. Es wird Ihnen viele Kopfschmerzen ersparen, wenn Sie in den Produktionsmodus gehen.

+0

Dies ist ein sehr interessanter Ansatz. Ein Web-Service auf IIS könnte die COM-Schnittstelle sicher auf dem J2EE-Server kapseln. –

0

Einer der Gründe, warum Sie die JAVA-COM-Bridge verwenden müssen, ist, dass Sie einige Windows-basierte Funktionen benötigen, die im Unix-basierten System nicht verfügbar sind. Vor einigen Jahren waren keine MS WORD, EXCEL JAVA APIs auf Unix verfügbar. Versuchen Sie also möglichst native JAVA-APIs zu verwenden, um Windows-basierte Funktionalität zu erreichen. Wie die Verwendung von APACHE POI. Das Einrichten von J-Integra auf einem Computer mit hohen Sicherheitseinstellungen ist knifflig und erfordert spezielle Überlegungen.

Verwandte Themen