Tenho uma aplicação que usa threads e para fazer alguns controles eu uso Vector e analisando a mesma vi que muitas threads entram em wait ou ficam em blocked.
Seria o vector que poderia estar causando isso?
Abaixo segue o um stackTrace quando a thread está em blocked:
ava.net.SocketInputStream.socketRead0 ( native code )
java.net.SocketInputStream.read ( unknown source )
sun.nio.cs.StreamDecoder.readBytes ( unknown source )
sun.nio.cs.StreamDecoder.implRead ( unknown source )
sun.nio.cs.StreamDecoder.read ( unknown source )
java.io.InputStreamReader.read ( unknown source )
java.io.BufferedReader.fill ( unknown source )
java.io.BufferedReader.readLine ( unknown source )
java.io.BufferedReader.readLine ( unknown source )
http.Request.setResultServer ( Request.java:50 )
http.Request.sendByGET ( Request.java:199 )
client.http.ClientSDPRequest.send ( ClientSDPRequest.java:117 )
client.http.ClientSDPRequest.reserveAndCommit ( ClientSDPRequest.java:141 )
billing.request.RequestSDPThread.run ( RequestSDPThread.java:153 )
java.util.concurrent.ThreadPoolExecutor$Worker.runTask ( unknown source )
java.util.concurrent.ThreadPoolExecutor$Worker.run ( unknown source )
java.lang.Thread.run ( unknown source )
Outro stackTrace, esse eu acredito que seja causado pelo log4j eu já aumentei o nível do log, melhorou bastante, mas ainda aparece este blocked:
org.apache.log4j.Category.callAppenders ( Category.java:204 )
org.apache.log4j.Category.forcedLog ( Category.java:391 )
org.apache.log4j.Category.info ( Category.java:666 )
billing.control.BillingThread.run ( BillingThread.java:163 )
java.util.concurrent.ThreadPoolExecutor$Worker.runTask ( unknown source )
java.util.concurrent.ThreadPoolExecutor$Worker.run ( unknown source )
java.lang.Thread.run ( unknown source )
Agora abaixo segue um stackTrace quando a thread está em wait:
java.net.SocketInputStream.socketRead0 ( native code )
java.net.SocketInputStream.read ( unknown source )
sun.nio.cs.StreamDecoder.readBytes ( unknown source )
sun.nio.cs.StreamDecoder.implRead ( unknown source )
sun.nio.cs.StreamDecoder.read ( unknown source )
java.io.InputStreamReader.read ( unknown source )
java.io.BufferedReader.fill ( unknown source )
java.io.BufferedReader.readLine ( unknown source )
java.io.BufferedReader.readLine ( unknown source )
http.Request.setResultServer ( Request.java:50 )
http.Request.sendByGET ( Request.java:199 )
client.http.ClientSDPRequest.send ( ClientSDPRequest.java:117 )
client.http.ClientSDPRequest.reserveAndCommit ( ClientSDPRequest.java:141 )
request.RequestSDPThread.run ( RequestSDPThread.java:153 )
java.util.concurrent.ThreadPoolExecutor$Worker.runTask ( unknown source )
java.util.concurrent.ThreadPoolExecutor$Worker.run ( unknown source )
java.lang.Thread.run ( unknown source )