Class OpenTracingTracerFactory

java.lang.Object
org.apache.qpid.jms.tracing.JmsTracerFactory
org.apache.qpid.jms.tracing.opentracing.OpenTracingTracerFactory

public class OpenTracingTracerFactory extends JmsTracerFactory
  • Constructor Details

    • OpenTracingTracerFactory

      public OpenTracingTracerFactory()
  • Method Details

    • create

      public static JmsTracer create(io.opentracing.Tracer tracer)
      Creates a JmsTracer wrapping a provided Open Tracing tracer instance previously created by the application. Used for programmatic creation of JmsTracer to explicitly set on a ConnectionFactory when not using the jms.tracing URI option, or JmsConnectionFactory.setTracing(String), which both utilise the GlobalTracer. The returned JmsTracer will no-op when its close method is called during Connection.close() closure, to allow using the given Tracer with multiple connections and elsewhere in the application. Equivalent to calling #create(Tracer, false)
      Parameters:
      tracer - The Open Tracing tracer to use
      Returns:
      a JmsTracer instance using the provided OpenTracing tracer.
    • create

      public static JmsTracer create(io.opentracing.Tracer tracer, boolean closeUnderlyingTracer)
      As create(Tracer), but providing control over whether the given Tracer has its close method called when the returned JmsTracer is closed during Connection.close().
      Parameters:
      tracer - The Open Tracing tracer to use
      closeUnderlyingTracer - Whether to close the underlying tracer during Connection.close()
      Returns:
      a JmsTracer instance using the provided OpenTracing tracer.
    • createTracer

      public JmsTracer createTracer(URI remoteURI, String name) throws Exception
      Specified by:
      createTracer in class JmsTracerFactory
      Throws:
      Exception