Le réglage par défaut SocketFactory
J'ai récemment migré mes services web à partir d'Axe CXF (2.1). Il semble que, bien que l'Axe besoin de "l'axe.socketSecureFactory", CXF attrape la valeur par défaut. Comment puis-je définir la valeur par défaut SocketFactory en Java pour mon propre mise en œuvre (une propriété)?
Ce que je suis pas qui cherchent à faire est de définir la valeur par défaut SocketFactory propriétés des paramètres tels que la propriété de mon truststore, magasin de clés et mots de passe.
Il est assez cool solution ici stackoverflow.com/a/11696077
OriginalL'auteur jconlin | 2009-04-29
Vous devez vous connecter pour publier un commentaire.
Selon la OpenJDK7 code source pour
javax.net.SocketFactory
, la JVM de Sun est codé en dur pour revenir unjavax.net.DefaultSocketFactory
pourgetDefault();
Edit: Cependant, le défaut SSLSocketFactory peut être définie par la propriété de sécurité
ssl.SocketFactory.provider
La propriété est inaccessible à partir de n'importe où ailleurs, et le code définit une norme paresseux de l'instanciation de lecture. Powerlord est exact que la valeur est donc effectivement codé en dur.
OriginalL'auteur Powerlord
Si nous parlons de la norme sockets puis
Socket.setSocketImplFactory(SocketImplFactory)
est utilisée pour modifier l'usine pour le commun des sockets etServerSocket.setSocketFactory(SocketImplFactory)
pour les sockets serveur.Si vous utilisez ceux-ci, puis de prendre note du fait que vous ne pouvez définir ces usines à la fois.
Note la java implémentation de socket par défaut à l'aide de SocksSocketImpl (un paquet de classe visible dans java.net) si l'on découvre que l'usine est
null
dans le cas où vous voulez une usine qui peuvent changer de pack de la java standard de mise en œuvre.OriginalL'auteur Nuoji