6

最近、Web サービスを Axis から CXF (2.1) に移行しました。Axis には「axis.socketSecureFactory」セットが必要でしたが、CXF はデフォルトを取得しているようです。Java でデフォルトの SocketFactory を独自の実装 (プロパティなど) に設定するにはどうすればよいですか?

私がしようとしていないのは、トラストストア、キーストア、およびパスワードのプロパティを設定するなど、デフォルトの SocketFactory プロパティを設定することです。

4

2 に答える 2

7

標準ソケットについて話している場合は、通常のソケットとサーバー ソケットのSocket.setSocketImplFactory(SocketImplFactory)ファクトリを変更するために使用されます。ServerSocket.setSocketFactory(SocketImplFactory)

これらを使用している場合は、これらのファクトリを一度しか設定できないことに注意してください。

nullパックを標準の Java 実装に切り替えることができるファクトリが必要な場合にファクトリが検出された場合、Java ソケット実装はデフォルトで SocksSocketImpl (java.net のパッケージ可視クラス) を使用することに注意してください。

于 2009-04-29T22:43:55.797 に答える
6

の OpenJDK7 ソース コードによると、Sun JVM はforjavax.net.SocketFactoryを返すようにハード コードされています。javax.net.DefaultSocketFactorygetDefault();

編集:ただし、デフォルトの SSLSocketFactory はセキュリティプロパティで設定できますssl.SocketFactory.provider

于 2009-04-29T18:11:43.640 に答える