[Java lista] DBCP és szaporodó szálak

Böszörményi Péter zmblevlist at gmail.com
2011. Feb. 26., Szo, 09:48:51 CET


De itt miert inditasz kulon szalat? A future.get ugyis blokkolja a hivast.


On Fri, 25 Feb 2011 16:47:30 +0100, Mariák Kálmán <sirkalmi at kalmiesemese.hu> wrote:

> Igazad van, megvan a hiba!
>
> Az égatta világon semmi köze sincs a poolomhoz. A hibát egy olyan
> programrész okozta ami tudtommal eddig is kint volt az élesben. Lehet,
> hogy mégsem...
>
> A TopDispatcher filter osztályomban az alábbi kód okozta a szál
> szaporulatot:
> if(isNewSession) {
> 	LookupService service = new LookupService();
>     Future<InetAddress> future =
> service.getByName(request.getRemoteAddr());
>     try {
>     	InetAddress ia = future.get(1L, TimeUnit.SECONDS);
>     	session.setAttribute("lastHostName", ia.getHostName());
> 		SessionListenerWrapper.getVisitors(session).put(session.getId(),
> ia.getHostName());
>     } catch (Exception e) {
> 		logger.warn(e, e);
> 	}
> }
>
> Ez annyit csinál, hogy új session esetén lekérdezi, hogy honnan érkezett
> a kérés, majd eltárolja egy lastHostName nevű session attrubútumként.
> Annak érdekében, hogy ez ne lassítsa le az oldal betöltődését egy
> LookupService osztályban indítok erre egy új szálat ami valami miatt nem
> fejeződik be soha. Azért vagyok értetlen, mert az svn szerint 2010.06.07
> -én került ez a ficsőr a kódba és valamiért most jött ki ez a hiba mikor
> a pool cserét belehegesztettem.
> Megmondom őszintén, hogy szálkezelés ügyben nem vagyok túl expert, ezt a
> kódot az internetről kukáztam anno.
>
> Ha esetleg ötlete van valakinek, hogy miért nem hal meg a szál a dolga
> végeztével akkor ne tartsa magában! ;-)
>
> Mariák Kálmán
>
>
> On Fri, 2011-02-25 at 15:49 +0100, Zsombor wrote:
>> Nagyon valószínűtlen.
>


-- 
Üdvözlettel,
Böszörményi Péter


További információk a(z) Javalist levelezőlistáról