MDC 上下文仅复制到 ForkJoinPool 的一个线程

2024-06-05

我想将 MDC 上下文传递给 ForkJoinPool 的线程,因为我需要在所有生成的线程日志中打印 MDCContextMap 中填充的 requestId,以便更好地进行调试。我为此使用以下解决方案:如何将 MDC 与 ForkJoinPool 结合使用? https://stackoverflow.com/questions/36026402/how-to-use-mdc-with-forkjoinpool.

我将池用作:

final ForkJoinPool mdcPool = new MdcForkJoinPool(30);
mdcPool.submit(() -> ruleset.getOperationList().parallelStream().forEach(operation -> {
                log.info("Sample log line");

但从日志来看,MDC 上下文似乎仅被复制到池中的一个线程。我还在 MdcForkJoinPool 的 commit 方法和 beforeExecution 方法中放置了一些日志。以下是仅在一个线程(“ForkJoinPool-1-worker-25”)日志中打印 requestID 的日志:

16 Oct 2018 15:05:32,570 [INFO] eb73e823-d154-11e8-871a-d138501061d6 (Coral Endpoint : 1) com.amazon.service.utils.MdcForkJoinPool: submit: Runnable
16 Oct 2018 15:05:32,571 [INFO]  (ForkJoinPool-1-worker-25) com.amazon.service.utils.MdcForkJoinPool: Before Execution: {RequestId=eb73e823-d154-11e8-871a-d138501061d6}
16 Oct 2018 15:05:32,571 [INFO]  (ForkJoinPool-1-worker-25) com.amazon.service.utils.MdcForkJoinPool: Before Execution: {}
16 Oct 2018 15:05:32,571 [INFO]  (ForkJoinPool-1-worker-25) com.amazon.service.utils.MdcForkJoinPool: Setting mDC: {}
16 Oct 2018 15:05:32,574 [INFO]  (ForkJoinPool-1-worker-4) com.amazon.service.activity.business.VariablesEvaluator: Sample log line
16 Oct 2018 15:05:32,574 [INFO]  (ForkJoinPool-1-worker-29) com.amazon.service.activity.business.VariablesEvaluator: Sample log line
16 Oct 2018 15:05:32,575 [INFO] eb73e823-d154-11e8-871a-d138501061d6 (ForkJoinPool-1-worker-25) com.amazon.service.activity.business.VariablesEvaluator: Sample log line
16 Oct 2018 15:05:32,576 [INFO]  (ForkJoinPool-1-worker-22) com.amazon.service.activity.business.VariablesEvaluator: Sample log line
16 Oct 2018 15:05:32,576 [INFO]  (ForkJoinPool-1-worker-4) com.amazon.service.activity.business.VariablesEvaluator: some Other logs
16 Oct 2018 15:05:32,576 [INFO] eb73e823-d154-11e8-871a-d138501061d6 (ForkJoinPool-1-worker-25) com.amazon.service.activity.business.VariablesEvaluator: some Other logs

我是否没有以正确的方式使用自定义 ForkJoinPool?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MDC 上下文仅复制到 ForkJoinPool 的一个线程 的相关文章

  • 什么时候多线程不是一个好主意? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 从代码中覆盖 OMP_NUM_THREADS - 真正的

    到目前为止我能找到的所有答案都建议致电omp set num threads 虽然对于大多数情况来说这是一个正确的答案 但它对我不起作用 在内部 调用omp set num threads导致创建每线程 ICV 或修改 如果当前线程已经有一
  • 了解 Numpy 中的向量化与通过 Numexpr 进行向量化表达式的多线程处理之间的区别

    我对 NumPy 据说正在向量化其算术数组运算的概念感到有点挣扎 它是否克服了 Python 的 GIL 因为 NumPy 的一部分是用 C 实现的 另外 Numexpr 是如何工作的呢 如果我理解正确的话 它通过优化 JIT 运行代码并启
  • 从 Android 中的 Thread 更新 UI

    我想从更新进度条的线程更新我的用户界面 不幸的是 当从 可运行 更新进度条的可绘制对象时 进度条消失了 更改进度条的可绘制部分onCreate 另一边有效 有什么建议么 public void onCreate Bundle savedIn
  • 尝试在另一个线程wxpython中创建一个对话框

    我正在另一个线程中运行一个函数 该函数应该填写一个对话框 然后显示它 但只要我尝试以任何方式更改对话框 它就会出现段错误 我读到这是 WxPython 的一个常见问题 并且开发人员无意直接更改另一个线程中的对话框 我该如何解决这个问题 我可
  • Android VideoView setVideoURI 阻塞 UI 线程

    Android中VideoView的setVideoURI方法似乎阻塞了UI线程 一旦我调用此方法 即使在快速设备上 UI 也会变得滞后 有没有办法提高这里的性能 我可以在这里找到与该主题相关的唯一其他线程 https groups goo
  • 在Service中使用Looper和使用单独的线程是一样的吗?

    在此示例中 来自文档 https developer android com guide components services html ExtendingService https developer android com guide
  • Android GPS 回调关闭 UI 线程

    我无法让 GPS 的 onLocationChanged 在不同的线程上运行 我了解在调用函数时如何管理 UI 线程 但使用 GPS 我不会主动调用该函数 我的目的是每次 GPS 接收到读数时都会有灯光闪烁 我已将此函数放入 Runnabl
  • Node.js 多线程程序

    我编写了一个 node js 脚本来从交易所获取一些价格 它看起来像这样 async function main async function func var start time performance now for let rout
  • Java 有没有办法记录*每个*线程中断?

    我想每次都以某种方式记录Thread interrupt 被调用 记录哪个线程发出调用 及其当前堆栈 以及识别有关哪个线程被中断的信息 有没有办法做到这一点 在搜索信息时 我看到有人提到实施安全管理器的可能性 这是可以在运行时完成的事情 例
  • Visual C++ 只有一个线程工作 (OpenMP)

    我有一个多线程应用程序的简单代码 但无论我传递多少个线程 它都只使用一个线程执行 起初 我以为是我的电脑的问题 但我又尝试了另一台电脑 但还是不行 我是不是出了什么事 我正在使用 Visual Studio 2015 如果有帮助的话 int
  • Linux 内核 - 如何停止等待信号量的 kthread?

    在编写 Linux 内核模块时 我遇到了一个 kthread 问题 在等待信号量解锁时无法唤醒该 kthread 这会导致线程不可停止并且rmmod尝试卸载模块时冻结 请注意 该模块在 3 10 内核上运行 我无法将其更新到较新的版本 客户
  • 如何防止 Parallel.ForEach 循环在运行时更改任务数量?

    我正在使用Parallel ForEach循环做一些工作 我用localInit像这样 localInit gt new foo new Foo bars CreateBars 根据文档 https learn microsoft com
  • 限制并行工作的线程数量

    我正在创建一个函数 将文件从本地计算机复制到远程创建线程以并行执行 sftp def copyToServer does copy file given host name and credentials for i in hostsLis
  • XamlReader.Load 在后台线程中。是否可以?

    WPF 应用程序具有从单独的文件加载用户控件的操作 使用XamlReader Load method StreamReader mysr new StreamReader pathToFile DependencyObject rootOb
  • 读写器的信号量解决方案:更新读取器计数和等待或发出读/写二进制信号量信号之间的顺序?

    从操作系统概念来看 在解决第一个读者 作者问题时 读者 进程共享以下数据结构 semaphore rw mutex 1 semaphore mutex 1 int read count 0 do wait rw mutex writing
  • 线程和 fork()。我该如何处理呢? [复制]

    这个问题在这里已经有答案了 可能的重复 多线程程序中的fork https stackoverflow com questions 1235516 fork in multi threaded program 如果我有一个使用 fork 的
  • Apple doc的GCD生产者-消费者解决方案错误?

    在 Apple 并发编程指南的 从线程迁移 部分中 有 改变生产者 消费者实施 http developer apple com library ios documentation General Conceptual Concurrenc
  • 在此类的对象上调用 start() 安全吗? Java 并发实践中的一个例子

    首先 我将提供我将要讨论的源代码的链接 因为复制 粘贴会使这个问题页面太长 在清单 5 15 中http jcip net listings CellularAutomata java http jcip net listings Cell
  • 如何正确并行化严重依赖 I/O 的作业

    我正在构建一个必须处理大量数据的控制台应用程序 基本上 应用程序从数据库获取引用 对于每个引用 解析文件的内容并进行一些更改 这些文件是 HTML 文件 该过程正在使用 RegEx 替换进行繁重的工作 查找引用并将其转换为链接 然后结果存储

随机推荐

  • 从 Joomla 3 url 中删除文章 ID

    我正在尝试从 Joomla 3 URL 中删除文章 ID 我四处搜寻 得到的答复是 组件 com content router php 将 0 更改为 1 advanced params gt get sef advanced link 1
  • 使用 CMake 和 clang 在 Windows 上构建简单的 C++ 项目

    我正在尝试在 Windows 10 上构建一个简单的 Hello World 程序 最好使用 CMake 和 clang 如果我使用 MinGW 的 g 编译器 我可以成功编译 链接和运行同一个项目 但当我尝试使用 clang 时会遇到问题
  • C/C++ 中自给自足的头文件

    我最近发布了一个问题 询问哪些行动将构成C 之禅 https stackoverflow com questions 1879034 what is the zen of c 我收到了很好的答案 但我无法理解一项建议 使头文件自给自足 你如
  • 撤消“从选择中创建新组”项目 xcode 4

    我不小心将我的项目添加到了一个组中 现在我无法在 xcode 4 中将其删除 有什么想法吗 如果我将其拖出 它会要求我创建一个工作区 编辑 我在错误报告中向苹果报告了这一点 我会及时向大家通报最新情况 这是一个没有工作空间的项目 关闭 Xc
  • 使用两列数据分割数据帧并对结果数据帧列表应用通用转换

    我想根据两列中的值将一个大数据帧拆分为一个数据帧列表 然后 我想对结果列表中的所有数据帧应用通用数据转换 滞后转换 我知道 split 命令 但只能让它一次处理一列数据 您需要将所有想要分割的因素放在一个列表中 例如 split mtcar
  • 什么是 iBeacon 蓝牙配置文件

    我想使用一些低功耗蓝牙开发套件创建自己的 iBeacon Apple 尚未发布 iBeacon 规范 但是 一些硬件开发人员已根据 AirLocate 示例代码对 iBeacon 进行了逆向工程 并开始销售 iBeacon 开发套件 那么
  • 如何正确设置服务器?

    我正在尝试制作一个在一段时间后更新的游戏服务器 import time last time time time tick 1 time since last update 0 while True new time time time dt
  • SignalR 1.01 中不需要 MapHub?

    我正在遵循 Signalr Wiki 中的集线器快速入门指南 我在 Global asax Application Start 行 RouteTable Routes MapHubs 上收到错误 名为 signalr hubs 的路由已在路
  • 将“选票”存储在数据库中

    我正在编写一个 Intranet 应用程序 其功能之一大致类似于内容投票 与 SO Amazon 和许多其他网站的做法不同 假设每个可投票的内容都有一个唯一的 ID 并且每个用户 他们经过身份验证 都有一个唯一的 ID 最简单的方法似乎是有
  • Windows 窗体 PictureBox.Image 为空,即使窗体中显示图像

    我正在尝试捕获此设备扫描的指纹 gt http www nitgen com eng product finkey html http www nitgen com eng product finkey html 我能够成功扫描指纹并保存二
  • 从字符串中提取整数

    从字符串中提取整数并将其保存到整数数组中的最佳和最短的方法是什么 示例字符串 65 865 1 3 5 65 234 65 32 我尝试查看其他一些帖子 但找不到有关此特定问题的帖子 一些帮助和解释会很棒 看来这一切都可以完成std str
  • c++11:从模板函数构建 std::tuple

    我有以下功能 template
  • NDEBUG 预处理器宏的用途是什么(在不同平台上)?

    我感兴趣的是各种平台 编译器 实现 框架分配给C和 C 预处理器宏NDEBUG The CC 标准只提到这个定义一次 即控制assert macro 我要求仅包含具体答案 您可以在其中know某个平台 框架 库C或 C 使用NDEBUG定义
  • Hibernate HQL Join 查询 DOT 节点,没有左侧

    我有两个模型类 应用程序 java Entity Table name Application catalog mysqldb XmlRootElement public class Application extends BaseObje
  • “Dense”对象没有属性“op”[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我正在尝试使用tensorflow keras制作一个完全连接的模型 这是我的代码 from tensorflow keras m
  • 前面的冒号:YAML 语法

    我目前在项目中使用 Sidekiq 并且有以下 YAML 配置文件 concurrency 5 pidfile tmp pids sidekiq pid logfile log sidekiq log staging concurrency
  • 将空集添加到Python中的frozenset中的集合族中

    假设我生成一个 freezeset A frozenset frozenset element for element in 1 2 3 我有空集 E frozenset frozenset 现在我想要两组的并集 U A E 这给了我 fr
  • 简单的正则表达式:匹配所有内容直到最后一个点

    只想匹配直到但不包括最后一个句点的每个字符 dog jpg gt dog abc123 jpg jpg gt abc123 jpg 我努力了 使用前瞻断言最后一个点字符 现场演示 https regex101 com r rI4pQ1 1
  • 使用 Sandcastles 将图像嵌入 CHM 帮助文件

    我正在使用 Sandcastles 为我的项目生成 CHM 帮助文件 我想要一个可以分发的独立 CHM 文件 最好是单独分发 我遇到的问题是嵌入图像appears该图像需要与 CHM 文件分开存在于用户系统上 当我查看 CHM 文件的来源时
  • MDC 上下文仅复制到 ForkJoinPool 的一个线程

    我想将 MDC 上下文传递给 ForkJoinPool 的线程 因为我需要在所有生成的线程日志中打印 MDCContextMap 中填充的 requestId 以便更好地进行调试 我为此使用以下解决方案 如何将 MDC 与 ForkJoin