- java.lang.Object
-
- zipkin2.Component
-
- zipkin2.reporter.Sender
-
- zipkin2.reporter.amqp.RabbitMQSender
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
public final class RabbitMQSender extends Sender
This sends (usually json v2) encoded spans to a RabbitMQ queue.The sender does not use RabbitMQ Publisher Confirms, so messages considered sent may not necessarily be received by consumers in case of RabbitMQ failure.
For thread safety, a channel is created for each thread that calls
sendSpans(List).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classRabbitMQSender.BuilderConfiguration including defaults needed to send spans to a RabbitMQ queue.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description zipkin2.CheckResultcheck()Ensures there are no connection issues.voidclose()static RabbitMQSendercreate(java.lang.String addresses)Creates a sender that sendsEncoding.JSONmessages.zipkin2.codec.Encodingencoding()intmessageMaxBytes()intmessageSizeInBytes(int encodedSizeInBytes)intmessageSizeInBytes(java.util.List<byte[]> encodedSpans)static RabbitMQSender.BuildernewBuilder()zipkin2.Call<java.lang.Void>sendSpans(java.util.List<byte[]> encodedSpans)This sends all of the spans as a single message.RabbitMQSender.BuildertoBuilder()java.lang.StringtoString()
-
-
-
Method Detail
-
create
public static RabbitMQSender create(java.lang.String addresses)
Creates a sender that sendsEncoding.JSONmessages.
-
newBuilder
public static RabbitMQSender.Builder newBuilder()
-
toBuilder
public final RabbitMQSender.Builder toBuilder()
-
messageMaxBytes
public int messageMaxBytes()
- Specified by:
messageMaxBytesin classSender
-
messageSizeInBytes
public int messageSizeInBytes(java.util.List<byte[]> encodedSpans)
- Specified by:
messageSizeInBytesin classSender
-
messageSizeInBytes
public int messageSizeInBytes(int encodedSizeInBytes)
- Overrides:
messageSizeInBytesin classSender
-
sendSpans
public zipkin2.Call<java.lang.Void> sendSpans(java.util.List<byte[]> encodedSpans)
This sends all of the spans as a single message.
-
check
public zipkin2.CheckResult check()
Ensures there are no connection issues.- Overrides:
checkin classzipkin2.Component
-
toString
public final java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Overrides:
closein classzipkin2.Component- Throws:
java.io.IOException
-
-