Class MdcContextRunnable

java.lang.Object
br.ufsc.labsec.utils.mdc.MdcContextRunnable
All Implemented Interfaces:
Runnable

public class MdcContextRunnable
extends Object
implements Runnable
Um wrapper para Runnable que propaga o contexto MDC (Mapped Diagnostic Context) do SLF4J.

Esta classe captura o mapa de contexto MDC da thread que a instancia (a thread "pai") e o aplica na thread que irá de fato executar a tarefa.

  • Constructor Details

    • MdcContextRunnable

      public MdcContextRunnable​(Runnable runnable)
      Constrói um novo MdcContextRunnable.

      O contexto MDC da thread atual é capturado neste momento.

      Parameters:
      runnable - O Runnable original que contém a lógica a ser executada.
  • Method Details

    • run

      public void run()
      Executa a tarefa.

      Antes de executar o Runnable original, o contexto MDC capturado é definido na thread atual. Um bloco finally garante que o MDC seja limpo após a conclusão da tarefa, independentemente de sucesso ou falha.

      Specified by:
      run in interface Runnable