View Javadoc

1   package com.atlassian.messagequeue.internal.sqs;
2   
3   import com.atlassian.messagequeue.MessageRunnerKey;
4   
5   import static java.util.Objects.requireNonNull;
6   
7   /**
8    * Default implementation of {@link SQSMessageRunnerKeyToProducerMapper}
9    * Return {@link SQSProducerQueueConfig} for provided {@link MessageRunnerKey} from the map
10   * or default one if {@link MessageRunnerKey} is not in the map
11   */
12  public class DefaultSQSMessageRunnerKeyToProducerMapper implements SQSMessageRunnerKeyToProducerMapper {
13  
14      private final SQSConfig sqsConfig;
15  
16      public DefaultSQSMessageRunnerKeyToProducerMapper(SQSConfig sqsConfig) {
17          this.sqsConfig = requireNonNull(sqsConfig);
18      }
19  
20      @Override
21      public SQSProducerQueueConfig getQueueConfigForMessageRunner(MessageRunnerKey messageRunnerKey) {
22          return sqsConfig.getOutboundQueueNameMappings().getOrDefault(messageRunnerKey, sqsConfig.getDefaultQueue());
23      }
24  }