在Logging中运行Eclipse的Tomcat服务器中的死锁

时间:2013-12-09 00:37:20

标签: java eclipse jquery tomcat

我在Eclipse中反复运行Tomcat上的死锁问题。我使用JQuery.ajax调用从JSP页面通过Chrome浏览器调用JAX-RS服务(虽然我不确定调用机制是否真的是一个问题,而不是同时发生多个异步调用)。例外可能是dynatree;在设置dynatree文件树的延迟加载后,它似乎变得更糟。

当它失败时,我看到多个ajax调用都挂起。

如果我在Eclipse中调试,打开服务器,然后暂停,我看到:

Daemon Thread [http-bio-8080-exec-1] (Suspended)
 owns: WebappClassLoader (id=53)
 waiting for: FileHandler (id=50)
   owned by: Daemon Thread [http-bio-8080-exec-7] (Suspended)
  FileHandler.publish(LogRecord)
  Logger.log(LogRecord)
  Logger.doLog(LogRecord)

Daemon Thread [http-bio-8080-exec-7] (Suspended)
 owns: FileHandler (id=50)
 waiting for: WebappClassLoader (id=53)
   owned by: Daemon Thread [http-bio-8080-exec-1] (Suspended)
  RequestScope$Instance.toString() line: 531
  MessageFormat.subformat(...)
  MessageFormat.format(...)
  ...
  SimpleFormatter...
  FileHandler(StreamHandler).publish(LogRecord)
  FileHandler.publish(LogRecord)
  Logger.log(LogRecord)

因此,在某种程度上或其他方面,所有内容似乎都是陷入僵局。但我不知道为什么会发生这种情况或者该怎么做。在内部,我只是使用java.util.logging。

任何帮助或见解都将不胜感激。

1 个答案:

答案 0 :(得分:0)

鉴于其他调查,看起来这实际上是Derby数据库驱动程序的一个问题,可能是一个已知错误。在某些情况下,它会尝试创建数据库语句。