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

Mariák Kálmán sirkalmi at kalmiesemese.hu
2011. Feb. 25., P, 16:47:30 CET


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.
--------- következő rész ---------
Egy nem text típusú csatolt állomány át lett konvertálva...
NĂ©v: LookupService.java
TĂ­pus: text/x-java
MĂ©ret: 945 bytes
Leírás: nem elérhető
Url : http://javagrund.hu/pipermail/javalist/attachments/20110225/11b78eb6/attachment.bin 


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