Děkuji za odpověď,
přepsal jsem aplikaci aby místo threads používala bean s Async metodou.
Pomocí scheduleru vyvolávám metody a ta vytváří instanci beany a na ní
spouští metody s anotací Async.
Vše běží paralelně, ale problém se Socket přetrvává.
Předem děkuji za pomoc,
Korecký
Sign
Ing. Vladislav Korecký <mailto:vladislav_kore...@gordic.cz> GORDIC
spol. s r.o.
GORDIC spol. s r.o., Erbenova 4, 586 01 Jihlava
tel: +420 567 571 467
On 12.6.2014 08:29, Tomas Baca wrote:
http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/scheduling.html
example:
@Async
Future<String> returnSomething(int i) {
// this will be executed asynchronously
}
2014-06-11 19:31 GMT+02:00 Vladislav Korecký
<vladislav_kore...@gordic.cz <mailto:vladislav_kore...@gordic.cz>>:
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ý