Dobrý den,
prosím o radu.

Mám zkušební console aplikaci, ve které mám třídu která implementuje Runnable, v metodě run() vytvářím Socket (klient) a navazuji spojení se serverem. V main metodě vyvolávám několik instancí výše zmíněné třídy a vše vesele komunikuje (paralelně).

Když stejnou třídu vytvořím ve webové aplikaci postavené nad Spring MVC a pomocí scheduleru vyvolám třídu, která vytvoří instance zmíněného threadu a spustí je, tak se mi jednotlivý socket klienti poperou (některé instance hlásí, že nelze navázat spojení, jiné hlásí timeout). Když vše udělám synchroně (vyvolávám jednotlivé instance threadu postupně), tak vše funguje.
Zkoušel jsem i implementovat Spring TaskExecutor, ale se stejným výsledkem.

Jak bych měl postupovat ve webové aplikaci, abych mohl navázat N paralelních spojení se Socket servery ? Upozorňuji, že komunikace probíhá na TCP/IP úrovní pomocí zasílání jednotlivých bytes. Nemohu použít HttpClient či podobné třídy.

Předem děkuji za pomoc,
Vladislav Korecký

Odpovedet emailem