【问题标题】:Use Mapped Diagnostic Context (MDC) for passing colum values to log4j prepared statement使用映射诊断上下文 (MDC) 将列值传递给 log4j 准备好的语句
【发布时间】:2013-03-15 19:24:20
【问题描述】:

使用 MDC 将列值和 xml 动态传递给 log4j.xml 中的preparedstatement 是否安全。如果是,那么我如何以及何时可以清除它以避免内存泄漏。

仅供参考 - 许多线程将同时使用我的 log4j。

【问题讨论】:

    标签: java logging log4j mdc


    【解决方案1】:

    如果您对安全性的担忧是并发性,那么我会说您的信息是完全安全的。供参考,您可以查看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 中),并且我们总是在请求处理即将完成时删除这些值。

    【讨论】:

      猜你喜欢
      • 2013-05-24
      • 2015-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-10
      • 1970-01-01
      • 1970-01-01
      • 2013-08-23
      相关资源
      最近更新 更多