фабрика сокет-ов-сш - PullRequest
       33

фабрика сокет-ов-сш

3 голосов
/ 24 января 2011

Я хотел бы использовать библиотеку JMS (Java Message Service), ActiveMQ или FFMQ, но мне нужно запустить ее по протоколу SSH. Я начал реализовывать свой собственный метод фабрики соединений ActiveMQ, но затем меня поразила идея реализации интерфейсов Socket / SocketFactory через SSH. Это позволило бы мне адаптировать практически любую реализацию JMS, не касаясь ее кода. Как обычно, кто-то уже имел эту идею, и я нашел несколько реализаций этого подхода.

http://svn.apache.org/repos/asf/pig/trunk/lib-src/shock/org/apache/pig/shock/SSHSocketImplFactory.java http://benkstein.net/java/SSHSocketFactory/javadoc/

Первый - это класс где-то в духе Apache Pig. Второй - это взломанный аддон для клиента MySQL, опубликованный Фрэнком Бенкштейном в 2004 году. Похоже, что сообщество MySQL не интересовалось этим (http://www.webservertalk.com/archive277-2004-7-294282.html).

Интересно, есть ли другие реализации фабрики SocketOverSsh, возможно, лучше задокументированные / поддерживаемые?

Обновление: моя основная мотивация - избегать дополнительных открытых портов или изменений конфигурации как на клиенте, так и на сервере. Так что SOCKS или обычная переадресация порта не являются желательными решениями.

1 Ответ

2 голосов
/ 24 января 2011

Это выглядит немного тяжелым. Рассматривали ли вы поиск решения с использованием протокола SOCKS? Ssh-клиент может выступать в качестве SOCKS-прокси, например, вызывая его с помощью «ssh -D». Хорошо, что JVM уже знает, как автоматически использовать SOCKS для сетевых подключений. Конечно, cave-at заключается в том, что ssh-соединение будет установлено вне Java-приложения.

...