1 package com.atlassian.messagequeue.registry;
2
3 import com.atlassian.annotations.PublicApi;
4 import com.atlassian.messagequeue.MessageRunnerKey;
5
6 /**
7 * Interface for registering and unregistering message runners.
8 *
9 * @since 1.0
10 */
11 @PublicApi
12 public interface MessageRunnerRegistryService {
13
14 /**
15 * Register a message runner on the given key. Registering a new runner for the same key replaces the old runner.
16 * @param messageRunnerKey unique message runner key
17 * @param messageRunner MessageRunner implementation
18 */
19 void registerMessageRunner(MessageRunnerKey messageRunnerKey, MessageRunner messageRunner);
20
21 /**
22 * Unregister a message runner that has previously been registered on the key. If no runner is registered, logs a
23 * warning only.
24 * @param messageRunnerKey unique message runner key
25 */
26 void unregisterMessageRunner(MessageRunnerKey messageRunnerKey);
27 }