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?
Antwort
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.
Dies ist ein sehr interessanter Ansatz. Ein Web-Service auf IIS könnte die COM-Schnittstelle sicher auf dem J2EE-Server kapseln. –
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.
- 1. Welcher ist der schnellste Weg, um von Java auf nativen Code zuzugreifen?
- 2. Was ist der beste Weg, um auf den vorletzten Wert in einem R data.frame zuzugreifen?
- 3. Der beste Weg, um von einem benutzerdefinierten Mojo auf die Laufzeitkonfiguration eines Maven Plugins zuzugreifen?
- 4. Was ist der beste Weg, um von VBA auf eine serielle Schnittstelle zuzugreifen?
- 5. Was ist der beste Weg, um von Ruby aus auf Google Kalender zuzugreifen?
- 6. Was ist der beste Weg, um von portablem, nativem Code auf SOAP WebServices zuzugreifen?
- 7. Welcher ist der effizienteste Weg, um auf den Wert eines Steuerelements zuzugreifen?
- 8. Was ist der beste Weg, um auf Rest-Services zuzugreifen, die mit OAuth-Sicherheit gesichert wurden?
- 9. Wie ist der beste Weg, um in Java auf den Speicher zuzugreifen, ähnlich wie bei mmap?
- 10. Welcher Weg ist der beste, um Kometen in einem Java-Servlet zu implementieren?
- 11. Welcher ist der beste Weg, um Seitenumbrüche auf SQL Server durchzuführen?
- 12. Grails: Was ist der beste Weg, um Domain-Klassen von einer src/groovy-Klasse zuzugreifen? diese
- 13. Welcher ist der beste Weg, um den angemeldeten Benutzer mit Federsicherheit zu erhalten?
- 14. Welcher Dateityp ist der beste?
- 15. Was ist der beste Weg, um einen Stream um
- 16. Der einfachste Weg, um auf Azure File Storage zuzugreifen?
- 17. Was ist der beste Weg, auf ein Array innerhalb von Velocity zuzugreifen?
- 18. Was ist der beste Weg, um eine Liste zu kopieren?
- 19. Der einfachste Weg, um auf Phalcon-Konfigurationswerte in Sichten zuzugreifen?
- 20. Welcher ist der beste Weg, um eine Anmeldung in Rails für einen Starter zu erstellen?
- 21. Was ist der prägnanteste browserübergreifende Weg, um auf ein <iframe> Elementfenster und Dokument zuzugreifen?
- 22. Welcher Algorithmus ist das? Der beste Weg, um begrenzte Ressourcen zu verteilen
- 23. Was ist der beste Weg, auf den Redox-Speicher außerhalb einer Reaktionskomponente zuzugreifen?
- 24. Was ist der beste Weg, um jQuery .change()
- 25. Was ist der beste und einfachste Weg, um auf Dateien innerhalb eines Linux-vps mit seiner externen IP zuzugreifen?
- 26. Wäre dies der richtige Weg, um von einem Fragment auf eine Arraylist zuzugreifen?
- 27. Welcher ist der beste Weg, um Daten zu verarbeiten Groupby/Distinct
- 28. Was ist der beste Weg, um Datei vom Server
- 29. Was ist der beste Weg, um von einem RectF zu einem Rect in Android zu konvertieren?
- 30. Was ist der beste Weg
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. –
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. –
@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. –