Class DurableQueuesMicrometerTracingInterceptor
- java.lang.Object
-
- dk.cloudcreate.essentials.components.foundation.messaging.queue.micrometer.DurableQueuesMicrometerTracingInterceptor
-
- All Implemented Interfaces:
DurableQueuesInterceptor,dk.cloudcreate.essentials.shared.interceptor.Interceptor
public class DurableQueuesMicrometerTracingInterceptor extends Object implements DurableQueuesInterceptor
-
-
Field Summary
Fields Modifier and Type Field Description static StringQUEUE_ENTRY_IDstatic StringQUEUE_NAME
-
Constructor Summary
Constructors Constructor Description DurableQueuesMicrometerTracingInterceptor(io.micrometer.tracing.Tracer tracer, io.micrometer.tracing.propagation.Propagator propagator, io.micrometer.observation.ObservationRegistry observationRegistry, boolean verboseTracing)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanintercept(AcknowledgeMessageAsHandled operation, dk.cloudcreate.essentials.shared.interceptor.InterceptorChain<AcknowledgeMessageAsHandled,Boolean,DurableQueuesInterceptor> interceptorChain)InterceptAcknowledgeMessageAsHandledcallsbooleanintercept(DeleteMessage operation, dk.cloudcreate.essentials.shared.interceptor.InterceptorChain<DeleteMessage,Boolean,DurableQueuesInterceptor> interceptorChain)InterceptDeleteMessagecallsOptional<QueuedMessage>intercept(GetDeadLetterMessage operation, dk.cloudcreate.essentials.shared.interceptor.InterceptorChain<GetDeadLetterMessage,Optional<QueuedMessage>,DurableQueuesInterceptor> interceptorChain)InterceptGetDeadLetterMessagecallsOptional<QueuedMessage>intercept(GetNextMessageReadyForDelivery operation, dk.cloudcreate.essentials.shared.interceptor.InterceptorChain<GetNextMessageReadyForDelivery,Optional<QueuedMessage>,DurableQueuesInterceptor> interceptorChain)InterceptGetNextMessageReadyForDeliverycallsOptional<QueuedMessage>intercept(GetQueuedMessage operation, dk.cloudcreate.essentials.shared.interceptor.InterceptorChain<GetQueuedMessage,Optional<QueuedMessage>,DurableQueuesInterceptor> interceptorChain)InterceptGetQueuedMessagecallsOptional<QueuedMessage>intercept(MarkAsDeadLetterMessage operation, dk.cloudcreate.essentials.shared.interceptor.InterceptorChain<MarkAsDeadLetterMessage,Optional<QueuedMessage>,DurableQueuesInterceptor> interceptorChain)InterceptMarkAsDeadLetterMessagecallsQueueEntryIdintercept(QueueMessageAsDeadLetterMessage operation, dk.cloudcreate.essentials.shared.interceptor.InterceptorChain<QueueMessageAsDeadLetterMessage,QueueEntryId,DurableQueuesInterceptor> interceptorChain)InterceptQueueMessageAsDeadLetterMessagecallsQueueEntryIdintercept(QueueMessage operation, dk.cloudcreate.essentials.shared.interceptor.InterceptorChain<QueueMessage,QueueEntryId,DurableQueuesInterceptor> interceptorChain)InterceptQueueMessagecallsList<QueueEntryId>intercept(QueueMessages operation, dk.cloudcreate.essentials.shared.interceptor.InterceptorChain<QueueMessages,List<QueueEntryId>,DurableQueuesInterceptor> interceptorChain)InterceptQueueMessagescallsOptional<QueuedMessage>intercept(RetryMessage operation, dk.cloudcreate.essentials.shared.interceptor.InterceptorChain<RetryMessage,Optional<QueuedMessage>,DurableQueuesInterceptor> interceptorChain)InterceptRetryMessagecallsprotected QueuedMessagerestoreTraceContext(QueuedMessage queuedMessage, String contextDescription)voidsetDurableQueues(DurableQueues durableQueues)This method will be called by theDurableQueuesinstance that theDurableQueuesInterceptoris added toprotected voidstoreTraceContext(MessageMetaData messageMetaData)
-
-
-
Field Detail
-
QUEUE_ENTRY_ID
public static final String QUEUE_ENTRY_ID
- See Also:
- Constant Field Values
-
QUEUE_NAME
public static final String QUEUE_NAME
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
DurableQueuesMicrometerTracingInterceptor
public DurableQueuesMicrometerTracingInterceptor(io.micrometer.tracing.Tracer tracer, io.micrometer.tracing.propagation.Propagator propagator, io.micrometer.observation.ObservationRegistry observationRegistry, boolean verboseTracing)- Parameters:
tracer- The micrometerTracerpropagator- The micrometerPropagatorobservationRegistry- The micrometerObservationRegistryverboseTracing- Should the Tracing produces only include all operations or only top level operations
-
-
Method Detail
-
setDurableQueues
public void setDurableQueues(DurableQueues durableQueues)
Description copied from interface:DurableQueuesInterceptorThis method will be called by theDurableQueuesinstance that theDurableQueuesInterceptoris added to- Specified by:
setDurableQueuesin interfaceDurableQueuesInterceptor- Parameters:
durableQueues- the durable queue instance that this interceptor is added to
-
intercept
public QueueEntryId intercept(QueueMessage operation, dk.cloudcreate.essentials.shared.interceptor.InterceptorChain<QueueMessage,QueueEntryId,DurableQueuesInterceptor> interceptorChain)
Description copied from interface:DurableQueuesInterceptorInterceptQueueMessagecalls- Specified by:
interceptin interfaceDurableQueuesInterceptor- Parameters:
operation- the operationinterceptorChain- the interceptor chain (callInterceptorChain.proceed()to continue the processing chain)- Returns:
- the unique entry id for the message queued
-
intercept
public List<QueueEntryId> intercept(QueueMessages operation, dk.cloudcreate.essentials.shared.interceptor.InterceptorChain<QueueMessages,List<QueueEntryId>,DurableQueuesInterceptor> interceptorChain)
Description copied from interface:DurableQueuesInterceptorInterceptQueueMessagescalls- Specified by:
interceptin interfaceDurableQueuesInterceptor- Parameters:
operation- the operationinterceptorChain- the interceptor chain (callInterceptorChain.proceed()to continue the processing chain)- Returns:
- the unique entry id's for the messages queued, ordered in the same order as the payloads that were queued
-
intercept
public Optional<QueuedMessage> intercept(GetDeadLetterMessage operation, dk.cloudcreate.essentials.shared.interceptor.InterceptorChain<GetDeadLetterMessage,Optional<QueuedMessage>,DurableQueuesInterceptor> interceptorChain)
Description copied from interface:DurableQueuesInterceptorInterceptGetDeadLetterMessagecalls- Specified by:
interceptin interfaceDurableQueuesInterceptor- Parameters:
operation- the operationinterceptorChain- the interceptor chain (callInterceptorChain.proceed()to continue the processing chain)- Returns:
- the message wrapped in an
Optionalif the message exists andQueuedMessage.isDeadLetterMessage(), otherwiseOptional.empty()
-
intercept
public Optional<QueuedMessage> intercept(GetQueuedMessage operation, dk.cloudcreate.essentials.shared.interceptor.InterceptorChain<GetQueuedMessage,Optional<QueuedMessage>,DurableQueuesInterceptor> interceptorChain)
Description copied from interface:DurableQueuesInterceptorInterceptGetQueuedMessagecalls- Specified by:
interceptin interfaceDurableQueuesInterceptor- Parameters:
operation- the operationinterceptorChain- the interceptor chain (callInterceptorChain.proceed()to continue the processing chain)- Returns:
- the message wrapped in an
Optionalif the message exists and NOT aQueuedMessage.isDeadLetterMessage(), otherwiseOptional.empty()
-
intercept
public Optional<QueuedMessage> intercept(GetNextMessageReadyForDelivery operation, dk.cloudcreate.essentials.shared.interceptor.InterceptorChain<GetNextMessageReadyForDelivery,Optional<QueuedMessage>,DurableQueuesInterceptor> interceptorChain)
Description copied from interface:DurableQueuesInterceptorInterceptGetNextMessageReadyForDeliverycalls- Specified by:
interceptin interfaceDurableQueuesInterceptor- Parameters:
operation- the operationinterceptorChain- the interceptor chain (callInterceptorChain.proceed()to continue the processing chain)- Returns:
- the next message ready to be delivered (wrapped in an
Optional) orOptional.empty()if no message is ready for delivery
-
intercept
public QueueEntryId intercept(QueueMessageAsDeadLetterMessage operation, dk.cloudcreate.essentials.shared.interceptor.InterceptorChain<QueueMessageAsDeadLetterMessage,QueueEntryId,DurableQueuesInterceptor> interceptorChain)
Description copied from interface:DurableQueuesInterceptorInterceptQueueMessageAsDeadLetterMessagecalls- Specified by:
interceptin interfaceDurableQueuesInterceptor- Parameters:
operation- the operationinterceptorChain- the interceptor chain (callInterceptorChain.proceed()to continue the processing chain)- Returns:
- the unique entry id for the message queued
-
intercept
public Optional<QueuedMessage> intercept(RetryMessage operation, dk.cloudcreate.essentials.shared.interceptor.InterceptorChain<RetryMessage,Optional<QueuedMessage>,DurableQueuesInterceptor> interceptorChain)
Description copied from interface:DurableQueuesInterceptorInterceptRetryMessagecalls- Specified by:
interceptin interfaceDurableQueuesInterceptor- Parameters:
operation- the operationinterceptorChain- the interceptor chain (callInterceptorChain.proceed()to continue the processing chain)- Returns:
- the
QueuedMessagemessage wrapped in anOptionalif the operation was successful, otherwise it returns anOptional.empty()
-
intercept
public Optional<QueuedMessage> intercept(MarkAsDeadLetterMessage operation, dk.cloudcreate.essentials.shared.interceptor.InterceptorChain<MarkAsDeadLetterMessage,Optional<QueuedMessage>,DurableQueuesInterceptor> interceptorChain)
Description copied from interface:DurableQueuesInterceptorInterceptMarkAsDeadLetterMessagecalls- Specified by:
interceptin interfaceDurableQueuesInterceptor- Parameters:
operation- the operationinterceptorChain- the interceptor chain (callInterceptorChain.proceed()to continue the processing chain)- Returns:
- the
QueuedMessagemessage wrapped in anOptionalif the operation was successful, otherwise it returns anOptional.empty()
-
intercept
public boolean intercept(AcknowledgeMessageAsHandled operation, dk.cloudcreate.essentials.shared.interceptor.InterceptorChain<AcknowledgeMessageAsHandled,Boolean,DurableQueuesInterceptor> interceptorChain)
Description copied from interface:DurableQueuesInterceptorInterceptAcknowledgeMessageAsHandledcalls- Specified by:
interceptin interfaceDurableQueuesInterceptor- Parameters:
operation- the operationinterceptorChain- the interceptor chain (callInterceptorChain.proceed()to continue the processing chain)- Returns:
- true if the operation went well, otherwise false
-
intercept
public boolean intercept(DeleteMessage operation, dk.cloudcreate.essentials.shared.interceptor.InterceptorChain<DeleteMessage,Boolean,DurableQueuesInterceptor> interceptorChain)
Description copied from interface:DurableQueuesInterceptorInterceptDeleteMessagecalls- Specified by:
interceptin interfaceDurableQueuesInterceptor- Parameters:
operation- the operationinterceptorChain- the interceptor chain (callInterceptorChain.proceed()to continue the processing chain)- Returns:
- true if the operation went well, otherwise false
-
storeTraceContext
protected void storeTraceContext(MessageMetaData messageMetaData)
-
restoreTraceContext
protected QueuedMessage restoreTraceContext(QueuedMessage queuedMessage, String contextDescription)
-
-