Utrzymuję starszą aplikację Java, która używa Jacob lub mostu Java-COM, do wykonywania połączeń za pośrednictwem interfejsów COM MS VBA i MS Word. Patrzę na com4j od Sun i wygląda obiecująco.com4j kontra jacob wywoływać metody COM z Java
Powodem, dla którego wydaje mi się to dobre, jest to, że używa metody vtable do wiązania metod zamiast do IDispatch. Zakładając, że wszystkie obiekty COM manipulujemy obecnymi interfejsami vtable, wydaje się, że używanie ich zamiast funkcji IDispatch wydaje się czystsze. W czasach, gdy COM i CORBA, gdzie stosowano technologie binarnego interfejsu, zdaję sobie sprawę, że wczesne wiązanie za pośrednictwem vtable zapewnia lepszą wydajność niż późniejsze wiązanie za pośrednictwem IDispatch.
Czy ktoś wyemigrował z Jacoba na com4j? Jeśli tak, jakie pułapki i wnioski zostały wyciągnięte?
Dzięki. Nie chciałem wpaść w wyciek pamięci Jacoba bez podawania szczegółów, ale my też to widzieliśmy. Myślę, że zrobię projekt demonstracyjny z com4j i jednym z Jacobem i doświadczyłem różnic z pierwszej ręki. –
Zamierzam przejść od com4j do jacoba, ponieważ niestety com4j działa tylko z 32-bitową Javą, a nie 64-bitową Javą, więc wydaje się być martwy w wodzie. –
Jako aktualizacja komentarza @PaulTaylor com4j został od tego czasu [zaktualizowany z obsługą 64-bitowego java] (http://kohsuke.org/2012/04/27/com4j-updates/). –