デフォルトのSocketFactoryを設定する
-
03-07-2019 - |
質問
最近、WebサービスをAxisからCXF(2.1)に移行しました。 Axisは" axis.socketSecureFactory"を必要としていたようです。設定すると、CXFはデフォルトを取得します。 JavaでデフォルトのSocketFactoryを独自の実装(プロパティなど)に設定するにはどうすればよいですか?
私がやろうとしているしていないのは、トラストストア、キーストア、パスワードのプロパティを設定するなど、デフォルトのSocketFactoryプロパティを設定することです。
解決
javaxのOpenJDK7ソースコードによると。 net.SocketFactory
、Sun JVMは javax.net.DefaultSocketFactory
for getDefault();
編集:ただし、デフォルトのSSLSocketFactoryはセキュリティプロパティ ssl.SocketFactory.provider
他のヒント
標準ソケットについて話している場合は、 Socket.setSocketImplFactory(SocketImplFactory)
を使用して通常のソケットのファクトリを変更し、 ServerSocket.setSocketFactory(SocketImplFactory)
を使用してサーバーソケットを変更します。
これらを使用している場合は、これらのファクトリを一度しか設定できないことに注意してください。
ファクトリをパックに切り替えることができるファクトリが必要な場合にファクトリが null
を検出した場合、Javaソケット実装はデフォルトでSocksSocketImpl(java.netのパッケージ表示クラス)を使用することに注意してください標準のJava実装。