java.lang.Object
org.mule.extension.mule.testing.processing.strategies.test.api.ExecutionThreadTracker

public class ExecutionThreadTracker extends Object
When a thread jump happens, the ThreadLocals are cleared. So, this object keeps a ThreadLocal with an arbitrary Integer: - If the ThreadLocal is present, it adds the current processor to a temporary list (there weren't any thread jump). - If the ThreadLocal isn't present, it saves a List with only the current processor, and moves the previous List to another data structure. The Lists in that data structure will have the processors that were executed without a thread jump. The user can track the execution and completion of an operation, and ask for the "phase" when it was executed or completed. If the "phase" is the same for two events, it means that there weren't any thread jumps between them. If the "phase" changes between two events, it's because there were a thread jump.
  • Constructor Details

    • ExecutionThreadTracker

      public ExecutionThreadTracker()
  • Method Details

    • trackExecutionThread

      public void trackExecutionThread(String key)
    • trackCompletionThread

      public void trackCompletionThread(String key)
    • getExecutionThreadPhase

      public Integer getExecutionThreadPhase(String key)
    • getCompletionThreadPhase

      public Integer getCompletionThreadPhase(String key)
    • toString

      public String toString()
      Overrides:
      toString in class Object