MAILBOX-376 WorkQueueName need to carry a Group instance
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/00973f98 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/00973f98 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/00973f98 Branch: refs/heads/master Commit: 00973f98b6e9705cde3caaa910ab599ad921cf8b Parents: 97555fe Author: tran tien duc <[email protected]> Authored: Mon Jan 21 11:17:37 2019 +0700 Committer: Benoit Tellier <[email protected]> Committed: Tue Jan 22 09:20:12 2019 +0700 ---------------------------------------------------------------------- .../mailbox/events/EventBusTestFixture.java | 6 ++++-- .../james/mailbox/events/GroupRegistration.java | 22 ++++++++++---------- 2 files changed, 15 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/00973f98/mailbox/api/src/test/java/org/apache/james/mailbox/events/EventBusTestFixture.java ---------------------------------------------------------------------- diff --git a/mailbox/api/src/test/java/org/apache/james/mailbox/events/EventBusTestFixture.java b/mailbox/api/src/test/java/org/apache/james/mailbox/events/EventBusTestFixture.java index acac797..263a439 100644 --- a/mailbox/api/src/test/java/org/apache/james/mailbox/events/EventBusTestFixture.java +++ b/mailbox/api/src/test/java/org/apache/james/mailbox/events/EventBusTestFixture.java @@ -93,9 +93,11 @@ public interface EventBusTestFixture { MailboxIdRegistrationKey KEY_1 = new MailboxIdRegistrationKey(ID_1); MailboxIdRegistrationKey KEY_2 = new MailboxIdRegistrationKey(ID_2); MailboxIdRegistrationKey KEY_3 = new MailboxIdRegistrationKey(ID_3); - List<Class<? extends Group>> ALL_GROUPS = ImmutableList.of(GroupA.class, GroupB.class, GroupC.class); - GroupA GROUP_A = new GroupA(); + GroupB GROUP_B = new GroupB(); + GroupC GROUP_C = new GroupC(); + List<Group> ALL_GROUPS = ImmutableList.of(GROUP_A, GROUP_B, GROUP_C); + ConditionFactory WAIT_CONDITION = await().timeout(Duration.FIVE_SECONDS); static MailboxListener newListener() { http://git-wip-us.apache.org/repos/asf/james-project/blob/00973f98/mailbox/event/event-rabbitmq/src/main/java/org/apache/james/mailbox/events/GroupRegistration.java ---------------------------------------------------------------------- diff --git a/mailbox/event/event-rabbitmq/src/main/java/org/apache/james/mailbox/events/GroupRegistration.java b/mailbox/event/event-rabbitmq/src/main/java/org/apache/james/mailbox/events/GroupRegistration.java index 68f67be..36a6d1a 100644 --- a/mailbox/event/event-rabbitmq/src/main/java/org/apache/james/mailbox/events/GroupRegistration.java +++ b/mailbox/event/event-rabbitmq/src/main/java/org/apache/james/mailbox/events/GroupRegistration.java @@ -38,7 +38,6 @@ import org.apache.james.mailbox.MailboxListener; import com.github.fge.lambdas.Throwing; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Preconditions; -import com.google.common.base.Strings; import com.rabbitmq.client.Connection; import reactor.core.Disposable; @@ -57,22 +56,25 @@ import reactor.rabbitmq.Sender; class GroupRegistration implements Registration { static class WorkQueueName { - @VisibleForTesting - static WorkQueueName of(Class<? extends Group> clazz) { - return new WorkQueueName(groupName(clazz)); - } + @VisibleForTesting static WorkQueueName of(Group group) { - return of(group.getClass()); + return new WorkQueueName(group); } static final String MAILBOX_EVENT_WORK_QUEUE_PREFIX = MAILBOX_EVENT + "-workQueue-"; + private final Group group; private final String name; - private WorkQueueName(String name) { - Preconditions.checkArgument(!Strings.isNullOrEmpty(name), "Queue name must be specified"); - this.name = name; + private WorkQueueName(Group group) { + Preconditions.checkNotNull(group, "Group must be specified"); + this.group = group; + this.name = groupName(group.getClass()); + } + + public Group getGroup() { + return group; } String asString() { @@ -95,7 +97,6 @@ class GroupRegistration implements Registration { private final EventSerializer eventSerializer; private final GroupConsumerRetry retryHandler; private final WaitDelayGenerator delayGenerator; - private final RetryBackoffConfiguration retryBackoff; private Optional<Disposable> receiverSubscriber; GroupRegistration(Mono<Connection> connectionSupplier, Sender sender, EventSerializer eventSerializer, @@ -109,7 +110,6 @@ class GroupRegistration implements Registration { this.receiverSubscriber = Optional.empty(); this.unregisterGroup = unregisterGroup; this.retryHandler = new GroupConsumerRetry(sender, queueName, group, retryBackoff); - this.retryBackoff = retryBackoff; this.delayGenerator = WaitDelayGenerator.of(retryBackoff); } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
