2010-10-06 6 views
5

Działa na mnie implementacja "jsch".
Ale wygląda na to, że nie jest nowoczesne ze względu na użycie Vector (stary styl kolekcji Java).
Stwierdziłem, że inne implementacje są mniej popularne i nieudokumentowane.
Czy możesz polecić implementację biblioteki SFTP, która ma z nią duże doświadczenie.
Dzięki.Poszukuję biblioteki nowoczesnej SFTP java, nie jsch

Odpowiedz

2

Zgodnie z informacją podaną pod numerem @dty, o ile aplikacja może działać sprawnie, dlaczego interesuje Cię użycie nieaktualnych klas/metod w bibliotece?

Musisz tylko zadbać o to, do czego dzwonisz, a nie jak to działa w środku.
Możesz także użyć narzędzi do abstrakcji powyżej JSch, ale nic to nie zmieni.

Możesz również sprawdzić opcje JSch, ale ponieważ JSch jest powszechnie używany, prawdopodobnie będziesz mieć mniej błędów.

+1

Problem ze starymi implementacjami SSH jest taki, że taka implementacja zwykle nie działa dobrze z późniejszymi wersjami oprogramowania serwera SSH. Dlatego należy zapewnić obsługę zapewniającą lepszą kompatybilność i to właśnie oferują rozwiązania z wolnym dostępem do kodu źródłowego. –

+0

Wskazówki są w nazwie ... jeśli jest to open-source i chcesz, aby nowa funkcja obsługiwała "nowsze wersje oprogramowania serwera SSH", po prostu ją zaimplementuj samodzielnie. – dty

3

Działa. Kogo to obchodzi, jeśli używa Vector? To zdecydowanie najbardziej popularny. W rzeczywistości to jedyna rzecz, jaką mogę wymyślić bez odwoływania się do Google.

+0

http://stackoverflow.com/questions/1386275/why-java-vector-class-is-considered-legabled-or-deprecated – Boris

+0

Czy masz rację? Wiem, że Vector jest zsynchronizowany. Ale: a) narzut na synchronizację jest praktycznie zerowy w przypadku nowoczesnej maszyny JVM z niezamierzonymi blokadami, oraz b) mówimy o kilku dodatkowych procesorach w porównaniu z obciążeniem sieci komunikacyjnej z szyfrowaniem. – dty

+0

Również wektor nie jest tak naprawdę używany w sekcjach o krytycznym znaczeniu, jeśli nie masz zilionów tożsamości i otwierasz nowe połączenia przez cały czas. –

1

Możesz także chcieć rzucić okiem na IP*Works! SSH z/n oprogramowania.

+2

Nie to, że oceniam narzędzie, ale 899 USD wydaje się drogie, aby pozbyć się "Vector" –

4

Istnieje nowsza "wersja" Jscha na github. Jest to znaczne ulepszenie istniejącej biblioteki na wiele sposobów. Sprawdź README na stronie i obszerne javadoc, aby uzyskać więcej informacji. https://github.com/vngx/vngx-jsch. Jest również dostępny w większości głównych repetycji maven i jest zgodny z OSGi. Istnieje wiele alternatyw, ale ten jest solidny i uważam, że jest najbardziej aktualny (specyfikacja/kod/dokumentacja). Disclaimer: Jestem współpracownikiem.

+0

Właśnie znalazłem to ... i zobaczyłem, że zrobiłeś te same rzeczy, które zrobiłem, z moją [jsch-documentation ] (http://github.com/epaul/jsch-documentation) wersja (która nie zmienia żadnej funkcjonalności, głównie dodaje dokumentację). Myślę, że głównym powodem, dla którego oryginalny JSch nie jest zaktualizowany, aby korzystać z nowoczesnych klas, generycznych i innych, jest to, że nadal powinien być możliwy do użycia ze starymi maszynami wirtualnymi (i urządzeniami low-end). –

+0

Czy próbowałeś również skontaktować się z oryginalnym autorem? Istnieje [aktywna lista adresowa] (http://sourceforge.net/mailarchive/forum.php?forum=jsch-users). –

+0

Jesteśmy bardziej zainteresowani wydajnością i jakością kodu niż starsze wsparcie.Nie wspominając o niczym, można łatwo odzyskać w razie potrzeby. Oprócz ulepszeń wydajności i zgodności ze specyfikacjami istnieje wiele poprawek i ulepszeń w zakresie użyteczności. Przeważnie jest to przepisywane wewnętrznie, ale z api, które będzie wygodne dla użytkowników jsch, a ponieważ baza kodu pochodzi od jscha, składamy hołd, umieszczając go w nazwie. Nie skontaktowaliśmy się z nikim, to całkowicie niezależne rozwidlenie projektu. – Scott

0

Tańsza alternatywa handlowa (mój własny produkt do ujawnienia) to edtFTPj/PRO.