Interface TenantAwareSequencedDeadLetterQueueFactory

Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface TenantAwareSequencedDeadLetterQueueFactory
Application-facing factory for creating the concrete SequencedDeadLetterQueue of one tenant.

The regular event-processing SequencedDeadLetterQueueFactory only receives a processing group and cannot select tenant-specific infrastructure, such as a tenant's DataSource. Applications should register this factory instead. The TenantRoutingSequencedDeadLetterQueueRegistry invokes it lazily once for every tenant and processing group, then retains that concrete queue until the tenant is removed.

This factory creates the queue that stores dead letters; it does not route operations. Routing is provided by the framework-internal TenantRoutingSequencedDeadLetterQueueFactory.

Since:
5.4.0
Author:
Jan Galinski
  • Method Details

    • create

      SequencedDeadLetterQueue<EventMessage> create(TenantDescriptor tenant, String processorName, Configuration configuration)
      Creates the concrete dead-letter queue for the given tenant and processorName.
      Parameters:
      tenant - the tenant for which the queue is created
      processorName - the processor for which the queue is created
      configuration - the configuration for component lookup
      Returns:
      the concrete dead-letter queue for the given tenant and processing group