Zkuste si zapnout trasovani Suni SSL implementace nastavenim tusim, ze javax.net.debug=ssl
 
Z toho by mohlo jit neco vykoukat.
 
Honza
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]On Behalf Of Vlastimil Eliáš
Sent: Thursday, September 15, 2005 2:40 PM
To: konference [email protected]
Subject: [Re: Timeout HTTPS spojeni]

Po dalsich vyzkumech si odpovim si sam :-)

Pozadavky na zavedeni timeoutu a metod pro jejich nastavovani v
URLConnection jsou v BTS Sunu od roku 1998!
Jako castecna nahrada byly do 1.4 zavedeny nize uvedene systemove
property (sun.net.client.defaultConnectTimeout a sun.net.client.defaultReadTimeout)
ktere vsak podle ohlasu a dalsich Bugu v BTS moc nefungovaly ani v 1.4.2
(nejen pro HTTPS ale ani pro HTTP, take asi dost zalezi na platforme,
bud nefungovali vubec, nebo timeoutovaly az po dvojnasobku zadaneho casu,...)
V 1.5 (tiger) jiz by mely byt do URLConnection pridany metody umoznujici
nastavovat timeout pro jednotliva volani, doufam ze budou fungovat ;-)

@see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4143518
@see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4700777

Kazdopadne funkcni timeouty jsou jen resenim dusledku zamrznuteho spojeni,
neresi pricinu. Pricina bude pravdepodobne nekde jinde (zadna nebo nekorektni
odpoved serveru, chyby pri ceste paketu po internetu, ...), budu patrat dal.

Vlastik


-------- Původní zpráva --------
Předmět: Timeout HTTPS spojeni
Datum: Thu, 15 Sep 2005 10:30:43 +0200
Od: Vlastimil Eliáš <[EMAIL PROTECTED]>
Společnost: Qbizm technologies, a.s.
Komu: konference [email protected] <[email protected]>


Zdravim,

vyskytl se mi problem s timeoutem, respektive netimeoutem HTTPS spojeni.
Z java kodu delam HTTPS dotaz na jiny server.
Kod je zhruba nasledujici:
      URL ourl = new URL(url);
      HttpURLConnection conn = (HttpURLConnection) ourl.openConnection();
      conn.connect();
      ....

url je pritom "https:/...."

Pri inicializaci aplikace mam nastaveny
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
takze by se mela pouzit JSSE implementace od Sunu.
Aplikace je provozovana na JVM z Sun JDK 1.4.2 na Linuxu.

Problem je ze to spojeni na vzdaleny server nekdy zustane "viset"
a nikdy neskonci, v kodu nedostanu zadnou exception, proste nic.
Zajimave je ze se problem zacal objevovat asi az po dvou letech provozu.
Problem je dost nahodny a nejsem schopen ho nasimulovat.

Nesetkal se nekdo s podobnym problemem? Neni ten problem v nastaveni nejakeho timeoutu?

Hledal jsem v dokumentaci i na webu jaky je default a jak nastavit timeout pro to HTTPS spojeni
ale nejak nejsem uplne uspesny. Jedine co jsem nasel je nastaveni systemovych property
sun.net.client.defaultConnectTimeout a sun.net.client.defaultReadTimeout
U nich je napsano ze:
"These properties specify the default connect and read timeout (resp.) for the protocol
handler used by java.net.URLConnection."
Defaultni hodnota by mela byt -1 coz je bez timeoutu.

Zajimalo by me zda ma nekdo odzkouseno ze nastaveni techto property ovlivni i HTTPS spojeni.
Dale by me zajimalo zda ma nekdo odzkouseno ze staci ty property nastavit az z aplikace pomoci
System.setProperty(...); a v ktere fazi, nebo je to jiz pozde a musi se nastavit na commandline
pri spousteni javy.

Predem dik

Vlastik


-- 
Ing. Vlastimil Elias                        Qbizm technologies, a.s.
vedouci analytik                            ... the art of software.
____________________________________________________________________
www.qbizm-technologies.cz    www.qbizm.cz      www.qbizm-services.cz

Odpovedet emailem