tomcat - Java method stops being called -
tomcat - Java method stops being called -
i have tomcat server running big application. has 2 classes similar example:
public abstract class classa { private static final logger logger = logger.getlogger(classa.class); // ... public file methoda(icancellable cancel) { url request = new url("an url"); logger.debug("calling classb.methodb(type)"); file f = classb.methodb(request, "type", cancel); logger.debug("the phone call classb.methodb(type)" + " returned file==" + f); // ... } } public class classb { private static final logger logger = logger.getlogger(classb.class); // ... public static synchronized file methodb(url url, string type, icancellable cancel) { final string thismethodsname = "classb.methodb(url: " + url + ", type:" + type + ", cancel: " + cancel + ")"; logger.debug("entering method: " + thismethodsname); // ... homecoming f; } }
the application works properly, , classa.methoda()
calls succesfully classb.methodb()
, can see in log files:
[...] 14/02/2013 12:34:56 debug classa:123 - calling classb.methodb(type) 14/02/2013 12:34:56 debug classb:456 - entering method: classb.methodb(url: anurl, type: type, cancel: @1234); [...] 14/02/2013 12:34:56 debug classa:125 - phone call classb.methodb(type) returned file=="afile". [...]
my problem after server working time, stops calling classb.methodb()
. application gets hung , writes log:
[...] 14/02/2013 12:34:56 debug classa:123 - calling classb.methodb(type)
that's lastly line of log file. classb.methodb()
isn't called.
i suspected due opened resources werent closed, i'm trying locate code did that, , after fixsing so, still happens.
what can causing this? how can go on searching cause?
jvm version: 1.6.0_13 tomcat version: 6.0.18
is possible there thread deadlock bug involving code didn't paste? classb.methodb
method synchronized
. have other thread holding , not releasing synchronized
lock on classb.class
, preventing thread doing logging ever acquiring lock , entering method.
java tomcat
Comments
Post a Comment