View Javadoc

1   package com.atlassian.messagequeue.internal.inmemory;
2   
3   import com.atlassian.messagequeue.registry.MessageContext;
4   
5   import javax.annotation.Nullable;
6   import java.util.Optional;
7   
8   /**
9    * In-memory message context.
10   */
11  public class InMemoryMessageContext implements MessageContext {
12      private final String payload;
13  
14      public InMemoryMessageContext(@Nullable String payload) {
15          this.payload = payload;
16      }
17  
18      @Override
19      public Optional<String> getMessageId() {
20          return Optional.empty();
21      }
22  
23      @Override
24      public Optional<String> getPayload() {
25          return Optional.ofNullable(payload);
26      }
27  
28      @Override
29      public void acknowledge() {
30          // no op
31          // messages are delivered once-only to a single thread in the thread pool managed by InMemoryMessageRunnerService
32      }
33  
34      @Override
35      public boolean isCancellationRequested() {
36          return false;
37      }
38  }