You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2019/01/17 06:50:24 UTC
[08/27] james-project git commit: JAMES-2641 IMAP components should
use the EventBus directly
JAMES-2641 IMAP components should use the EventBus directly
This enables the MailboxManager to no more be an EventBus proxy
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/4c14a757
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/4c14a757
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/4c14a757
Branch: refs/heads/master
Commit: 4c14a757d46267827932474f17870aea50745971
Parents: f398e3f
Author: Benoit Tellier <bt...@linagora.com>
Authored: Thu Jan 10 15:57:25 2019 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Thu Jan 17 10:23:41 2019 +0700
----------------------------------------------------------------------
.../james/mailbox/MailboxManagerStressTest.java | 13 ++++++++-----
.../cassandra/CassandraMailboxManagerStressTest.java | 12 ++++++++----
.../mailbox/jpa/JpaMailboxManagerStressTest.java | 14 +++++++++-----
.../DomainUserMaildirMailboxManagerStressTest.java | 11 ++++++++---
.../FullUserMaildirMailboxManagerStressTest.java | 12 ++++++++----
.../maildir/UserMaildirMailboxManagerStressTest.java | 12 ++++++++----
.../inmemory/MemoryMailboxManagerStressTest.java | 12 ++++++++----
7 files changed, 57 insertions(+), 29 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/4c14a757/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java
----------------------------------------------------------------------
diff --git a/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java b/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java
index d769815..12dcce1 100644
--- a/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java
+++ b/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java
@@ -31,6 +31,8 @@ import java.util.concurrent.ThreadFactory;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
+import org.apache.james.mailbox.events.EventBus;
+import org.apache.james.mailbox.events.MailboxIdRegistrationKey;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.model.ComposedMessageId;
import org.apache.james.mailbox.model.MailboxId;
@@ -41,14 +43,15 @@ import org.junit.Test;
import com.google.common.collect.ImmutableSet;
-public abstract class MailboxManagerStressTest {
+public abstract class MailboxManagerStressTest<T extends MailboxManager> {
private static final int APPEND_OPERATIONS = 200;
- private MailboxManager mailboxManager;
+ private T mailboxManager;
- protected abstract MailboxManager provideManager() throws MailboxException;
+ protected abstract T provideManager() throws MailboxException;
+ protected abstract EventBus retrieveEventBus(T mailboxManager);
public void setUp() throws Exception {
this.mailboxManager = provideManager();
@@ -66,11 +69,11 @@ public abstract class MailboxManagerStressTest {
mailboxManager.startProcessingRequest(session);
MailboxPath path = MailboxPath.forUser(username, "INBOX");
MailboxId mailboxId = mailboxManager.createMailbox(path, session).get();
- mailboxManager.register(
+ retrieveEventBus(mailboxManager).register(
event -> {
MessageUid u = ((MailboxListener.Added) event).getUids().iterator().next();
uList.add(u);
- }, mailboxId);
+ }, new MailboxIdRegistrationKey(mailboxId));
mailboxManager.endProcessingRequest(session);
mailboxManager.logout(session, false);
http://git-wip-us.apache.org/repos/asf/james-project/blob/4c14a757/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerStressTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerStressTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerStressTest.java
index 75b7b3c..94d3092 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerStressTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerStressTest.java
@@ -21,16 +21,16 @@ package org.apache.james.mailbox.cassandra;
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.DockerCassandraRule;
-import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.MailboxManagerStressTest;
import org.apache.james.mailbox.cassandra.mail.MailboxAggregateModule;
+import org.apache.james.mailbox.events.EventBus;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.ClassRule;
-public class CassandraMailboxManagerStressTest extends MailboxManagerStressTest {
+public class CassandraMailboxManagerStressTest extends MailboxManagerStressTest<CassandraMailboxManager> {
@ClassRule public static DockerCassandraRule cassandraServer = new DockerCassandraRule();
@@ -47,13 +47,17 @@ public class CassandraMailboxManagerStressTest extends MailboxManagerStressTest
}
@Override
- protected MailboxManager provideManager() {
+ protected CassandraMailboxManager provideManager() {
return CassandraMailboxManagerProvider.provideMailboxManager(cassandra.getConf(), cassandra.getTypesProvider());
}
+ @Override
+ protected EventBus retrieveEventBus(CassandraMailboxManager mailboxManager) {
+ return mailboxManager.getEventBus();
+ }
@After
- public void tearDown() throws Exception {
+ public void tearDown() {
cassandra.clearTables();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/4c14a757/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JpaMailboxManagerStressTest.java
----------------------------------------------------------------------
diff --git a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JpaMailboxManagerStressTest.java b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JpaMailboxManagerStressTest.java
index 758bd66..f3a262a 100644
--- a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JpaMailboxManagerStressTest.java
+++ b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JpaMailboxManagerStressTest.java
@@ -22,14 +22,13 @@ package org.apache.james.mailbox.jpa;
import java.util.Optional;
import org.apache.james.backends.jpa.JpaTestCluster;
-import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.MailboxManagerStressTest;
-import org.apache.james.mailbox.exception.MailboxException;
+import org.apache.james.mailbox.events.EventBus;
import org.apache.james.mailbox.jpa.openjpa.OpenJPAMailboxManager;
import org.junit.After;
import org.junit.Before;
-public class JpaMailboxManagerStressTest extends MailboxManagerStressTest {
+public class JpaMailboxManagerStressTest extends MailboxManagerStressTest<OpenJPAMailboxManager> {
private static final JpaTestCluster JPA_TEST_CLUSTER = JpaTestCluster.create(JPAMailboxFixture.MAILBOX_PERSISTANCE_CLASSES);
private Optional<OpenJPAMailboxManager> openJPAMailboxManager = Optional.empty();
@@ -41,15 +40,20 @@ public class JpaMailboxManagerStressTest extends MailboxManagerStressTest {
}
@Override
- protected MailboxManager provideManager() {
+ protected OpenJPAMailboxManager provideManager() {
if (!openJPAMailboxManager.isPresent()) {
openJPAMailboxManager = Optional.of(JpaMailboxManagerProvider.provideMailboxManager(JPA_TEST_CLUSTER));
}
return openJPAMailboxManager.get();
}
+ @Override
+ protected EventBus retrieveEventBus(OpenJPAMailboxManager mailboxManager) {
+ return mailboxManager.getEventBus();
+ }
+
@After
- public void tearDown() throws MailboxException {
+ public void tearDown() {
JPA_TEST_CLUSTER.clear(JPAMailboxFixture.MAILBOX_TABLE_NAMES);
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/4c14a757/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/DomainUserMaildirMailboxManagerStressTest.java
----------------------------------------------------------------------
diff --git a/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/DomainUserMaildirMailboxManagerStressTest.java b/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/DomainUserMaildirMailboxManagerStressTest.java
index 6e385e2..aaa895c 100644
--- a/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/DomainUserMaildirMailboxManagerStressTest.java
+++ b/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/DomainUserMaildirMailboxManagerStressTest.java
@@ -19,13 +19,14 @@
package org.apache.james.mailbox.maildir;
-import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.MailboxManagerStressTest;
+import org.apache.james.mailbox.events.EventBus;
+import org.apache.james.mailbox.store.StoreMailboxManager;
import org.junit.Before;
import org.junit.Rule;
import org.junit.rules.TemporaryFolder;
-public class DomainUserMaildirMailboxManagerStressTest extends MailboxManagerStressTest {
+public class DomainUserMaildirMailboxManagerStressTest extends MailboxManagerStressTest<StoreMailboxManager> {
@Rule
public TemporaryFolder tmpFolder = new TemporaryFolder();
@@ -36,7 +37,7 @@ public class DomainUserMaildirMailboxManagerStressTest extends MailboxManagerStr
}
@Override
- protected MailboxManager provideManager() {
+ protected StoreMailboxManager provideManager() {
try {
return MaildirMailboxManagerProvider.createMailboxManager("/%domain/%user", tmpFolder);
} catch (Exception e) {
@@ -44,4 +45,8 @@ public class DomainUserMaildirMailboxManagerStressTest extends MailboxManagerStr
}
}
+ @Override
+ protected EventBus retrieveEventBus(StoreMailboxManager mailboxManager) {
+ return mailboxManager.getEventBus();
+ }
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/4c14a757/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/FullUserMaildirMailboxManagerStressTest.java
----------------------------------------------------------------------
diff --git a/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/FullUserMaildirMailboxManagerStressTest.java b/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/FullUserMaildirMailboxManagerStressTest.java
index dafe7e0..5eacedc 100644
--- a/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/FullUserMaildirMailboxManagerStressTest.java
+++ b/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/FullUserMaildirMailboxManagerStressTest.java
@@ -19,13 +19,14 @@
package org.apache.james.mailbox.maildir;
-import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.MailboxManagerStressTest;
+import org.apache.james.mailbox.events.EventBus;
+import org.apache.james.mailbox.store.StoreMailboxManager;
import org.junit.Before;
import org.junit.Rule;
import org.junit.rules.TemporaryFolder;
-public class FullUserMaildirMailboxManagerStressTest extends MailboxManagerStressTest {
+public class FullUserMaildirMailboxManagerStressTest extends MailboxManagerStressTest<StoreMailboxManager> {
@Rule
public TemporaryFolder tmpFolder = new TemporaryFolder();
@@ -36,7 +37,7 @@ public class FullUserMaildirMailboxManagerStressTest extends MailboxManagerStres
}
@Override
- protected MailboxManager provideManager() {
+ protected StoreMailboxManager provideManager() {
try {
return MaildirMailboxManagerProvider.createMailboxManager("/%fulluser", tmpFolder);
} catch (Exception e) {
@@ -44,5 +45,8 @@ public class FullUserMaildirMailboxManagerStressTest extends MailboxManagerStres
}
}
-
+ @Override
+ protected EventBus retrieveEventBus(StoreMailboxManager mailboxManager) {
+ return mailboxManager.getEventBus();
+ }
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/4c14a757/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/UserMaildirMailboxManagerStressTest.java
----------------------------------------------------------------------
diff --git a/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/UserMaildirMailboxManagerStressTest.java b/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/UserMaildirMailboxManagerStressTest.java
index 05f55fe..457f12d 100644
--- a/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/UserMaildirMailboxManagerStressTest.java
+++ b/mailbox/maildir/src/test/java/org/apache/james/mailbox/maildir/UserMaildirMailboxManagerStressTest.java
@@ -19,13 +19,14 @@
package org.apache.james.mailbox.maildir;
-import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.MailboxManagerStressTest;
+import org.apache.james.mailbox.events.EventBus;
+import org.apache.james.mailbox.store.StoreMailboxManager;
import org.junit.Before;
import org.junit.Rule;
import org.junit.rules.TemporaryFolder;
-public class UserMaildirMailboxManagerStressTest extends MailboxManagerStressTest {
+public class UserMaildirMailboxManagerStressTest extends MailboxManagerStressTest<StoreMailboxManager> {
@Rule
public TemporaryFolder tmpFolder = new TemporaryFolder();
@@ -36,7 +37,7 @@ public class UserMaildirMailboxManagerStressTest extends MailboxManagerStressTes
}
@Override
- protected MailboxManager provideManager() {
+ protected StoreMailboxManager provideManager() {
try {
return MaildirMailboxManagerProvider.createMailboxManager("/%user", tmpFolder);
} catch (Exception e) {
@@ -44,5 +45,8 @@ public class UserMaildirMailboxManagerStressTest extends MailboxManagerStressTes
}
}
-
+ @Override
+ protected EventBus retrieveEventBus(StoreMailboxManager mailboxManager) {
+ return mailboxManager.getEventBus();
+ }
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/4c14a757/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/MemoryMailboxManagerStressTest.java
----------------------------------------------------------------------
diff --git a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/MemoryMailboxManagerStressTest.java b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/MemoryMailboxManagerStressTest.java
index bc0f1e3..f264ef3 100644
--- a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/MemoryMailboxManagerStressTest.java
+++ b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/MemoryMailboxManagerStressTest.java
@@ -19,12 +19,11 @@
package org.apache.james.mailbox.inmemory;
-import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.MailboxManagerStressTest;
-import org.apache.james.mailbox.exception.MailboxException;
+import org.apache.james.mailbox.events.EventBus;
import org.junit.Before;
-public class MemoryMailboxManagerStressTest extends MailboxManagerStressTest {
+public class MemoryMailboxManagerStressTest extends MailboxManagerStressTest<InMemoryMailboxManager> {
@Override
@Before
@@ -33,7 +32,12 @@ public class MemoryMailboxManagerStressTest extends MailboxManagerStressTest {
}
@Override
- protected MailboxManager provideManager() throws MailboxException {
+ protected InMemoryMailboxManager provideManager() {
return MemoryMailboxManagerProvider.provideMailboxManager();
}
+
+ @Override
+ protected EventBus retrieveEventBus(InMemoryMailboxManager mailboxManager) {
+ return mailboxManager.getEventBus();
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org