【发布时间】:2013-03-15 19:24:20
【问题描述】:
使用 MDC 将列值和 xml 动态传递给 log4j.xml 中的preparedstatement 是否安全。如果是,那么我如何以及何时可以清除它以避免内存泄漏。
仅供参考 - 许多线程将同时使用我的 log4j。
【问题讨论】:
使用 MDC 将列值和 xml 动态传递给 log4j.xml 中的preparedstatement 是否安全。如果是,那么我如何以及何时可以清除它以避免内存泄漏。
仅供参考 - 许多线程将同时使用我的 log4j。
【问题讨论】:
如果您对安全性的担忧是并发性,那么我会说您的信息是完全安全的。供参考,您可以查看logback website
A copy of the mapped diagnostic context can not always be inherited by worker threads from the initiating thread. This is the case when java.util.concurrent.Executors is used for thread management. For instance, newCachedThreadPool method creates a ThreadPoolExecutor and like other thread pooling code, it has intricate thread creation logic.
我们在处理请求时将值放在 MDC 中(通常在 J2EE 应用程序的情况下放在 ServletFilter 中),并且我们总是在请求处理即将完成时删除这些值。
【讨论】: