【发布时间】:2015-11-23 23:31:59
【问题描述】:
我最近每次重新启动服务器时都会收到很多警告。 警告如下所示:
Web 应用程序 [/xxx] 创建了一个 ThreadLocal,其键类型为 [net.sourceforge.jtds.jdbc.Support$1](值 [net.sourceforge.jtds.jdbc.Support$1@29173d71]),值为类型 [java.util.GregorianCalendar] ... 但在 Web 应用程序停止时未能将其删除。
我终于在代码中找到了创建它的那一行:
cp.setCreationDate(rset.getTimestamp("CreationDate"));
rset 是 java.sql.ResultSet 类型
我从数据库中获取日期的方式是否有问题,或者有没有办法删除日历? 我们一直都是这样做的,我不知道为什么会出现这些错误,但它们现在确实是垃圾日志。
我找到了这个帖子: Java ResultSet.getTimestamp using Calendar & Thread safety
但我仍然收到错误。
【问题讨论】:
-
cp是什么类型的?检查 setCreationDate 方法的 API,看看是否有办法清除该方法存储的信息。然后,您需要在服务器关闭时调用此其他方法。
-
您好,感谢您的回复。然而 cp 只是一些类。如果我将行更改为: Timestamp i = rset.getTimestamp("CreationDate");错误依然存在
标签: java timestamp resultset thread-local