On the production machine it was a common-httpclient.jar in the J2RE_LIBRARY/ext
I assuming this points to <java-home>/lib/ext, and that we're talking about standard extensions.
And the classLoader was not loading the SecureProtocolSocketFactory from my jar but from this common-httpclient.jar in the J2RE_LIBRARY/ext
I have deleted common-httpclient.jar in the J2RE_LIBRARY/ext and now it works.
I really have difficulties to understand how classLoader works. I am comming from C language, with .a static it was simple, with dynamic .so it is still possible to understand. But here I really don't understand.
When I am launching the appli I do : java -jar myjar.jar
So I don't understand why this stupid loader go get anything in J2RE_LIBRARY/ext and use it with higher priority than elements in my jar.
The short answer is that Java searches/loads bootstrap classes (java.io, java.lang, etc) first, then classes found in the extensions directory, before loading user classes (i.e. -classpath). The extensions directory is kind of a "second" system classes area.
Have a look at the classloader info for the extension mechanism.
http://java.sun.com/docs/books/tutorial/ext/index.html http://java.sun.com/j2se/1.5.0/docs/guide/extensions/index.html
or have a look at the Java 2 Platform Security book (Gong/Elison/Dageforde) section 4 on secure classloaders for much more detailed info on the actual class search/load mechanism.
The classloading mechanism including the classloader hierarchy and delegation model is too hard to explain in a quick email.
Brad
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]