2012-08-10 49 views
4

我有一個servlet,我想通過unix域套接字來連接,因爲我無法啓動監聽一個新的TCP端口,因爲有一個安全策略。不幸的是,我一直找不到可以通過unix域套接字服務的servlet容器。到目前爲止,我已經看過Tomcat和Jetty。使用unix域套接字運行servlet容器?

回答

0

我不相信JVM公開UNIX域套接字到任何Java代碼。如果你想使用UNIX域套接字,我認爲你必須編寫自己的本地代碼來監聽和代理容器中的字節。這聽起來可行,但肯定不令人愉快。

+0

如果它加載了Curl或Boost庫,它將會很高興地處理java啓動時間以及C/C++應用程序啓動時間,而使用UNIX套接字它將會非常可靠並且非常快速。沒有意義的是使用默認的JVM或任何東西,因爲這沒有意義。 – Andrew 2014-09-26 18:38:33

2

首先,您需要弄清楚如何在java上支持unix域套接字。

以前的問題解決了這個問題。 UNIX Domain Socket in JavaUNIX socket implementation for Java?

看起來junixsocket也許能夠把自己裝扮成一個插座,如果是這樣的話,那麼你會想看看你是否可以使用各種引導類路徑替換默認的Java的java.net.Socket實現設備。此時,任何支持經典套接字的應用(理論上)都應該可以工作,如支持SocketConnector(不是NIO或SSL)的Jetty(早期版本)。