JAMES-1720 upgrade cassandra driver to 3.x

Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/b93d42ca
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/b93d42ca
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/b93d42ca

Branch: refs/heads/master
Commit: b93d42ca73906571f229e6e8244e6c4ba28071f2
Parents: be37b9c
Author: Matthieu Baechler <matthieu.baech...@gmail.com>
Authored: Tue May 16 22:59:34 2017 +0200
Committer: benwa <btell...@linagora.com>
Committed: Thu Jun 22 15:44:22 2017 +0700

----------------------------------------------------------------------
 backends-common/cassandra/pom.xml               | 19 ++++--
 .../backends/cassandra/init/ClusterBuilder.java |  2 +-
 .../init/QueryLoggerConfiguration.java          |  5 +-
 .../backends/cassandra/CassandraCluster.java    | 17 +++--
 mailbox/cassandra/pom.xml                       |  5 --
 .../cassandra/mail/CassandraMessageDAO.java     |  4 +-
 .../CassandraCombinationManagerTest.java        | 13 ++++
 .../CassandraCombinationManagerTestSystem.java  |  8 +++
 .../cassandra/CassandraMailboxManagerTest.java  | 45 ++++++++-----
 ...CassandraMessageIdManagerSideEffectTest.java | 12 ++++
 .../CassandraMessageIdManagerStorageTest.java   | 12 ++++
 .../CassandraMessageIdManagerTestSystem.java    |  9 +++
 .../CassandraSubscriptionManagerTest.java       | 26 ++++++--
 .../cassandra/CassandraTestSystemFixture.java   | 68 +++++++++++---------
 ...istributedMailboxDelegatingListenerTest.java | 20 ++++--
 ...CassandraMailboxPathRegistrerMapperTest.java |  6 ++
 .../cassandra/mail/CassandraACLMapperTest.java  |  1 +
 .../mail/CassandraApplicableFlagDAOTest.java    |  1 +
 .../mail/CassandraDeletedMessageDAOTest.java    |  1 +
 .../mail/CassandraFirstUnseenDAOTest.java       |  1 +
 .../mail/CassandraIndexTableHandlerTest.java    |  1 +
 .../mail/CassandraMailboxCounterDAOTest.java    |  1 +
 .../cassandra/mail/CassandraMailboxDAOTest.java |  1 +
 .../CassandraMailboxManagerAttachmentTest.java  | 39 +++++++----
 .../CassandraMailboxMapperConcurrencyTest.java  |  1 +
 .../mail/CassandraMailboxMapperTest.java        |  1 +
 .../mail/CassandraMailboxPathDAOTest.java       |  1 +
 .../mail/CassandraMailboxRecentDAOTest.java     |  8 +--
 .../cassandra/mail/CassandraMapperProvider.java | 48 ++++++++------
 .../cassandra/mail/CassandraMessageDAOTest.java |  1 +
 .../mail/CassandraMessageIdDAOTest.java         |  1 +
 .../CassandraMessageIdToImapUidDAOTest.java     |  1 +
 .../mail/CassandraModSeqProviderTest.java       | 25 +++----
 .../mail/CassandraUidProviderTest.java          | 15 +++--
 .../quota/CassandraCurrentQuotaManagerTest.java | 11 +++-
 .../CassandraPerUserMaxQuotaManagerTest.java    |  1 +
 .../user/CassandraSubscriptionMapperTest.java   | 14 ++--
 .../mailbox/jpa/mail/JPAMapperProvider.java     |  6 ++
 .../inmemory/mail/InMemoryMapperProvider.java   |  6 ++
 mailbox/pom.xml                                 |  1 -
 .../store/mail/model/AnnotationMapperTest.java  |  3 +-
 .../store/mail/model/AttachmentMapperTest.java  |  5 +-
 .../store/mail/model/MailboxMapperTest.java     |  3 +-
 .../store/mail/model/MapperProvider.java        |  3 +-
 .../store/mail/model/MessageIdMapperTest.java   |  3 +-
 .../store/mail/model/MessageMapperTest.java     |  3 +-
 .../store/mail/model/MessageMoveTest.java       |  3 +-
 .../model/MessageWithAttachmentMapperTest.java  |  3 +-
 .../modules/mailbox/CassandraSessionModule.java |  2 +-
 .../cassandra/CassandraActiveScriptDAO.java     |  4 +-
 .../CassandraRecipientRewriteTableTest.java     |  1 +
 .../james/rrt/cassandra/CassandraStepdefs.java  |  1 +
 .../cassandra/CassandraActiveScriptDAOTest.java |  5 +-
 .../sieve/cassandra/CassandraSieveDAOTest.java  |  5 +-
 .../cassandra/CassandraSieveQuotaDAOTest.java   |  4 +-
 .../cassandra/CassandraSieveRepositoryTest.java |  1 +
 .../vacation/CassandraVacationDAO.java          |  4 +-
 57 files changed, 352 insertions(+), 159 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/backends-common/cassandra/pom.xml
----------------------------------------------------------------------
diff --git a/backends-common/cassandra/pom.xml 
b/backends-common/cassandra/pom.xml
index 34ee18f..0c2d39d 100644
--- a/backends-common/cassandra/pom.xml
+++ b/backends-common/cassandra/pom.xml
@@ -130,11 +130,20 @@
                     <groupId>org.apache.james</groupId>
                     <artifactId>james-server-util-java8</artifactId>
                 </dependency>
-                       <dependency>
-                           <groupId>com.datastax.cassandra</groupId>
-                           <artifactId>cassandra-driver-core</artifactId>
-                           <version>2.1.8</version>
-                       </dependency>
+                <dependency>
+                    <groupId>com.datastax.cassandra</groupId>
+                    <artifactId>cassandra-driver-core</artifactId>
+                    <version>3.2.0</version>
+                    <classifier>shaded</classifier>
+                    <!-- Because the shaded JAR uses the original POM, you 
still need to 
+                        exclude this dependency explicitly: -->
+                    <exclusions>
+                        <exclusion>
+                            <groupId>io.netty</groupId>
+                            <artifactId>*</artifactId>
+                        </exclusion>
+                    </exclusions>
+                </dependency>
                        <dependency>
                            <groupId>com.google.guava</groupId>
                            <artifactId>guava</artifactId>

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/ClusterBuilder.java
----------------------------------------------------------------------
diff --git 
a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/ClusterBuilder.java
 
b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/ClusterBuilder.java
index b3583e0..4641ac0 100644
--- 
a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/ClusterBuilder.java
+++ 
b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/ClusterBuilder.java
@@ -175,7 +175,7 @@ public class ClusterBuilder {
         Cluster cluster = clusterBuilder.build();
 
         queryLogger.map(queryLoggerConfiguration ->
-            
cluster.register(queryLoggerConfiguration.getQueryLogger(cluster)));
+            cluster.register(queryLoggerConfiguration.getQueryLogger()));
 
         return cluster;
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/QueryLoggerConfiguration.java
----------------------------------------------------------------------
diff --git 
a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/QueryLoggerConfiguration.java
 
b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/QueryLoggerConfiguration.java
index 3a254e0..08f17fd 100644
--- 
a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/QueryLoggerConfiguration.java
+++ 
b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/QueryLoggerConfiguration.java
@@ -19,7 +19,6 @@
 
 package org.apache.james.backends.cassandra.init;
 
-import com.datastax.driver.core.Cluster;
 import com.datastax.driver.core.PerHostPercentileTracker;
 import com.datastax.driver.core.QueryLogger;
 import com.google.common.base.Preconditions;
@@ -116,8 +115,8 @@ public class QueryLoggerConfiguration {
         this.maxQueryStringLength = maxQueryStringLength;
     }
 
-    public QueryLogger getQueryLogger(Cluster cluster) {
-        QueryLogger.Builder builder = QueryLogger.builder(cluster);
+    public QueryLogger getQueryLogger() {
+        QueryLogger.Builder builder = QueryLogger.builder();
 
         percentileTracker.map(percentileTracker ->
             
slowQueryLatencyThresholdPercentile.map(slowQueryLatencyThresholdPercentile ->

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/CassandraCluster.java
----------------------------------------------------------------------
diff --git 
a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/CassandraCluster.java
 
b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/CassandraCluster.java
index 07fecaf..4511d32 100644
--- 
a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/CassandraCluster.java
+++ 
b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/CassandraCluster.java
@@ -34,7 +34,7 @@ import javax.annotation.PreDestroy;
 import javax.inject.Inject;
 import java.util.Optional;
 
-public final class CassandraCluster {
+public final class CassandraCluster implements AutoCloseable {
     private static final String CLUSTER_IP = "localhost";
     private static final int CLUSTER_PORT_TEST = 9142;
     private static final String KEYSPACE_NAME = "apache_james";
@@ -46,6 +46,7 @@ public final class CassandraCluster {
     private final CassandraModule module;
     private Session session;
     private CassandraTypesProvider typesProvider;
+    private Cluster cluster;
 
     public static CassandraCluster create(CassandraModule module) throws 
RuntimeException {
         return new CassandraCluster(module, 
EmbeddedCassandra.createStartServer());
@@ -55,6 +56,10 @@ public final class CassandraCluster {
     private CassandraCluster(CassandraModule module, EmbeddedCassandra 
embeddedCassandra) throws RuntimeException {
         this.module = module;
         try {
+            cluster = ClusterBuilder.builder()
+                .host(CLUSTER_IP)
+                .port(CLUSTER_PORT_TEST)
+                .build();
             session = new 
FunctionRunnerWithRetry(MAX_RETRY).executeAndRetrieveObject(CassandraCluster.this::tryInitializeSession);
             typesProvider = new CassandraTypesProvider(module, session);
         } catch (Exception exception) {
@@ -90,10 +95,7 @@ public final class CassandraCluster {
     }
 
     public Cluster getCluster() {
-        return ClusterBuilder.builder()
-                .host(CLUSTER_IP)
-                .port(CLUSTER_PORT_TEST)
-                .build();
+        return cluster;
     }
 
     private void sleep(long sleepMs) {
@@ -107,4 +109,9 @@ public final class CassandraCluster {
     public CassandraTypesProvider getTypesProvider() {
         return typesProvider;
     }
+
+    @Override
+    public void close() {
+        cluster.close();
+    }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/pom.xml b/mailbox/cassandra/pom.xml
index 1c906a0..84d83fd 100644
--- a/mailbox/cassandra/pom.xml
+++ b/mailbox/cassandra/pom.xml
@@ -196,11 +196,6 @@
                     <type>test-jar</type>
                 </dependency>
                 <dependency>
-                    <groupId>com.datastax.cassandra</groupId>
-                    <artifactId>cassandra-driver-core</artifactId>
-                    <version>${cassandra-driver-core.version}</version>
-                </dependency>
-                <dependency>
                     <groupId>${project.groupId}</groupId>
                     <artifactId>apache-james-backends-cassandra</artifactId>
                     <scope>test</scope>

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAO.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAO.java
 
b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAO.java
index f43c1e9..b5101c3 100644
--- 
a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAO.java
+++ 
b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAO.java
@@ -147,7 +147,7 @@ public class CassandraMessageDAO {
             CassandraMessageId messageId = (CassandraMessageId) 
message.getMessageId();
             BoundStatement boundStatement = insert.bind()
                 .setUUID(MESSAGE_ID, messageId.get())
-                .setDate(INTERNAL_DATE, message.getInternalDate())
+                .setTimestamp(INTERNAL_DATE, message.getInternalDate())
                 .setInt(BODY_START_OCTET, (int) 
(message.getFullContentOctets() - message.getBodyOctets()))
                 .setLong(FULL_CONTENT_OCTETS, message.getFullContentOctets())
                 .setLong(BODY_OCTECTS, message.getBodyOctets())
@@ -224,7 +224,7 @@ public class CassandraMessageDAO {
         MessageWithoutAttachment messageWithoutAttachment =
             new MessageWithoutAttachment(
                 messageId.getMessageId(),
-                row.getDate(INTERNAL_DATE),
+                row.getTimestamp(INTERNAL_DATE),
                 row.getLong(FULL_CONTENT_OCTETS),
                 row.getInt(BODY_START_OCTET),
                 buildContent(row, fetchType),

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraCombinationManagerTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraCombinationManagerTest.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraCombinationManagerTest.java
index d642815..3f96c22 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraCombinationManagerTest.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraCombinationManagerTest.java
@@ -26,8 +26,21 @@ import 
org.apache.james.mailbox.store.AbstractCombinationManagerTest;
 import org.apache.james.mailbox.store.CombinationManagerTestSystem;
 import org.apache.james.mailbox.store.event.MailboxEventDispatcher;
 import org.apache.james.mailbox.store.quota.NoQuotaManager;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
 
 public class CassandraCombinationManagerTest extends 
AbstractCombinationManagerTest {
+
+    @BeforeClass
+    public static void init() {
+        CassandraCombinationManagerTestSystem.init();
+    }
+
+    @AfterClass
+    public static void close() {
+        CassandraCombinationManagerTestSystem.stop();
+    }
+
     @Override
     public CombinationManagerTestSystem createTestingData() throws Exception {
         return CassandraCombinationManagerTestSystem.createTestingData(new 
NoQuotaManager(), 
MailboxEventDispatcher.ofListener(mock(MailboxListener.class)));

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraCombinationManagerTestSystem.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraCombinationManagerTestSystem.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraCombinationManagerTestSystem.java
index 42ef8e5..82eeec7 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraCombinationManagerTestSystem.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraCombinationManagerTestSystem.java
@@ -64,4 +64,12 @@ public class CassandraCombinationManagerTestSystem extends 
CombinationManagerTes
     public void clean() {
         CassandraTestSystemFixture.clean();
     }
+
+    public static void init() {
+        CassandraTestSystemFixture.init();
+    }
+
+    public static void stop() {
+        CassandraTestSystemFixture.stop();
+    }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerTest.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerTest.java
index 63333e4..271c163 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerTest.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerTest.java
@@ -36,33 +36,46 @@ import 
org.apache.james.mailbox.cassandra.modules.CassandraModSeqModule;
 import org.apache.james.mailbox.cassandra.modules.CassandraSubscriptionModule;
 import org.apache.james.mailbox.cassandra.modules.CassandraUidModule;
 import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
 
 public class CassandraMailboxManagerTest extends MailboxManagerTest {
 
-    private static final CassandraCluster CASSANDRA = 
CassandraCluster.create(new CassandraModuleComposite(
-        new CassandraAclModule(),
-        new CassandraMailboxModule(),
-        new CassandraMessageModule(),
-        new CassandraMailboxCounterModule(),
-        new CassandraMailboxRecentsModule(),
-        new CassandraFirstUnseenModule(),
-        new CassandraUidModule(),
-        new CassandraModSeqModule(),
-        new CassandraSubscriptionModule(),
-        new CassandraAttachmentModule(),
-        new CassandraDeletedMessageModule(),
-        new CassandraAnnotationModule(),
-        new CassandraApplicableFlagsModule()));
+    private static CassandraCluster cassandra;
+    
+    @BeforeClass
+    public static void init() {
+        cassandra = CassandraCluster.create(
+                new CassandraModuleComposite(
+                    new CassandraAclModule(),
+                    new CassandraMailboxModule(),
+                    new CassandraMessageModule(),
+                    new CassandraMailboxCounterModule(),
+                    new CassandraMailboxRecentsModule(),
+                    new CassandraFirstUnseenModule(),
+                    new CassandraUidModule(),
+                    new CassandraModSeqModule(),
+                    new CassandraSubscriptionModule(),
+                    new CassandraAttachmentModule(),
+                    new CassandraDeletedMessageModule(),
+                    new CassandraAnnotationModule(),
+                    new CassandraApplicableFlagsModule()));
+    }
+
+    @AfterClass
+    public static void close() {
+        cassandra.close();
+    }
 
     @Override
     protected MailboxManager provideMailboxManager() {
-        return 
CassandraMailboxManagerProvider.provideMailboxManager(CASSANDRA.getConf(), 
CASSANDRA.getTypesProvider());
+        return 
CassandraMailboxManagerProvider.provideMailboxManager(cassandra.getConf(), 
cassandra.getTypesProvider());
     }
 
     @After
     public void tearDown() throws Exception {
         super.tearDown();
-        CASSANDRA.clearAllTables();
+        cassandra.clearAllTables();
     }
 
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMessageIdManagerSideEffectTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMessageIdManagerSideEffectTest.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMessageIdManagerSideEffectTest.java
index 340cebc..1468dc4 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMessageIdManagerSideEffectTest.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMessageIdManagerSideEffectTest.java
@@ -23,9 +23,21 @@ import org.apache.james.mailbox.quota.QuotaManager;
 import org.apache.james.mailbox.store.AbstractMessageIdManagerSideEffectTest;
 import org.apache.james.mailbox.store.MessageIdManagerTestSystem;
 import org.apache.james.mailbox.store.event.MailboxEventDispatcher;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
 
 public class CassandraMessageIdManagerSideEffectTest extends 
AbstractMessageIdManagerSideEffectTest {
 
+    @BeforeClass
+    public static void init() {
+        CassandraMessageIdManagerTestSystem.init();
+    }
+
+    @AfterClass
+    public static void close() {
+        CassandraMessageIdManagerTestSystem.stop();
+    }
+
     @Override
     protected MessageIdManagerTestSystem createTestSystem(QuotaManager 
quotaManager, MailboxEventDispatcher dispatcher) throws Exception {
         return 
CassandraMessageIdManagerTestSystem.createTestingData(quotaManager, dispatcher);

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMessageIdManagerStorageTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMessageIdManagerStorageTest.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMessageIdManagerStorageTest.java
index 934e3db..34040a9 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMessageIdManagerStorageTest.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMessageIdManagerStorageTest.java
@@ -26,9 +26,21 @@ import 
org.apache.james.mailbox.store.AbstractMessageIdManagerStorageTest;
 import org.apache.james.mailbox.store.MessageIdManagerTestSystem;
 import org.apache.james.mailbox.store.event.MailboxEventDispatcher;
 import org.apache.james.mailbox.store.quota.NoQuotaManager;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
 
 public class CassandraMessageIdManagerStorageTest extends 
AbstractMessageIdManagerStorageTest {
 
+    @BeforeClass
+    public static void init() {
+        CassandraMessageIdManagerTestSystem.init();
+    }
+
+    @AfterClass
+    public static void close() {
+        CassandraMessageIdManagerTestSystem.stop();
+    }
+
     @Override
     protected MessageIdManagerTestSystem createTestingData() throws Exception {
         return CassandraMessageIdManagerTestSystem.createTestingData(new 
NoQuotaManager(), 
MailboxEventDispatcher.ofListener(mock(MailboxListener.class)));

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMessageIdManagerTestSystem.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMessageIdManagerTestSystem.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMessageIdManagerTestSystem.java
index 535e88d..0e0ff8d 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMessageIdManagerTestSystem.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMessageIdManagerTestSystem.java
@@ -110,4 +110,13 @@ public class CassandraMessageIdManagerTestSystem extends 
MessageIdManagerTestSys
         return mailboxMessage;
     }
 
+    public static void init() {
+        CassandraTestSystemFixture.init();
+    }
+
+    public static void stop() {
+        CassandraTestSystemFixture.stop();
+    }
+
+
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManagerTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManagerTest.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManagerTest.java
index b2eacd9..0ae1dd6 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManagerTest.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManagerTest.java
@@ -39,19 +39,31 @@ import 
org.apache.james.mailbox.cassandra.modules.CassandraMailboxCounterModule;
 import org.apache.james.mailbox.cassandra.modules.CassandraModSeqModule;
 import org.apache.james.mailbox.cassandra.modules.CassandraSubscriptionModule;
 import org.apache.james.mailbox.cassandra.modules.CassandraUidModule;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
 
 /**
  * Test Cassandra subscription against some general purpose written code.
  */
 public class CassandraSubscriptionManagerTest extends 
AbstractSubscriptionManagerTest {
 
-    private static final CassandraCluster cassandra = CassandraCluster.create(
-        new CassandraModuleComposite(
-            new CassandraSubscriptionModule(),
-            new CassandraMailboxCounterModule(),
-            new CassandraUidModule(),
-            new CassandraModSeqModule()));
-    
+    private static CassandraCluster cassandra;
+
+    @BeforeClass
+    public static void init() {
+        cassandra = CassandraCluster.create(
+            new CassandraModuleComposite(
+                new CassandraSubscriptionModule(),
+                new CassandraMailboxCounterModule(),
+                new CassandraUidModule(),
+                new CassandraModSeqModule()));
+    }
+
+    @AfterClass
+    public static void close() {
+        cassandra.close();
+    }
+
     @Override
     public SubscriptionManager createSubscriptionManager() {
         CassandraMessageIdToImapUidDAO imapUidDAO = null;

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraTestSystemFixture.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraTestSystemFixture.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraTestSystemFixture.java
index 2ebc801..7028b36 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraTestSystemFixture.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraTestSystemFixture.java
@@ -57,41 +57,30 @@ import 
org.apache.james.mailbox.store.mail.model.impl.MessageParser;
 import org.apache.james.mailbox.store.quota.DefaultQuotaRootResolver;
 
 public class CassandraTestSystemFixture {
-    public static final CassandraCluster CASSANDRA = 
CassandraCluster.create(new CassandraModuleComposite(
-        new CassandraAclModule(),
-        new CassandraMailboxModule(),
-        new CassandraMessageModule(),
-        new CassandraMailboxCounterModule(),
-        new CassandraMailboxRecentsModule(),
-        new CassandraFirstUnseenModule(),
-        new CassandraDeletedMessageModule(),
-        new CassandraUidModule(),
-        new CassandraModSeqModule(),
-        new CassandraAttachmentModule(),
-        new CassandraAnnotationModule(),
-        new CassandraApplicableFlagsModule()));
+    
     public static final int MOD_SEQ = 452;
     public static final int MAX_ACL_RETRY = 10;
-
+    private static CassandraCluster cassandra;
+    
     public static CassandraMailboxSessionMapperFactory createMapperFactory() {
-        CASSANDRA.ensureAllTables();
-        CassandraUidProvider uidProvider = new 
CassandraUidProvider(CASSANDRA.getConf());
-        CassandraModSeqProvider modSeqProvider = new 
CassandraModSeqProvider(CASSANDRA.getConf());
+        cassandra.ensureAllTables();
+        CassandraUidProvider uidProvider = new 
CassandraUidProvider(cassandra.getConf());
+        CassandraModSeqProvider modSeqProvider = new 
CassandraModSeqProvider(cassandra.getConf());
         CassandraMessageId.Factory messageIdFactory = new 
CassandraMessageId.Factory();
-        CassandraMessageIdDAO messageIdDAO = new 
CassandraMessageIdDAO(CASSANDRA.getConf(), messageIdFactory);
-        CassandraMessageIdToImapUidDAO imapUidDAO = new 
CassandraMessageIdToImapUidDAO(CASSANDRA.getConf(), messageIdFactory);
-        CassandraMessageDAO messageDAO = new 
CassandraMessageDAO(CASSANDRA.getConf(), CASSANDRA.getTypesProvider());
-        CassandraMailboxCounterDAO mailboxCounterDAO = new 
CassandraMailboxCounterDAO(CASSANDRA.getConf());
-        CassandraMailboxRecentsDAO mailboxRecentsDAO = new 
CassandraMailboxRecentsDAO(CASSANDRA.getConf());
-        CassandraApplicableFlagDAO applicableFlagDAO = new 
CassandraApplicableFlagDAO(CASSANDRA.getConf());
+        CassandraMessageIdDAO messageIdDAO = new 
CassandraMessageIdDAO(cassandra.getConf(), messageIdFactory);
+        CassandraMessageIdToImapUidDAO imapUidDAO = new 
CassandraMessageIdToImapUidDAO(cassandra.getConf(), messageIdFactory);
+        CassandraMessageDAO messageDAO = new 
CassandraMessageDAO(cassandra.getConf(), cassandra.getTypesProvider());
+        CassandraMailboxCounterDAO mailboxCounterDAO = new 
CassandraMailboxCounterDAO(cassandra.getConf());
+        CassandraMailboxRecentsDAO mailboxRecentsDAO = new 
CassandraMailboxRecentsDAO(cassandra.getConf());
+        CassandraApplicableFlagDAO applicableFlagDAO = new 
CassandraApplicableFlagDAO(cassandra.getConf());
 
-        CassandraMailboxDAO mailboxDAO = new 
CassandraMailboxDAO(CASSANDRA.getConf(), CASSANDRA.getTypesProvider(), 
MAX_ACL_RETRY);
-        CassandraMailboxPathDAO mailboxPathDAO = new 
CassandraMailboxPathDAO(CASSANDRA.getConf(), CASSANDRA.getTypesProvider());
-        CassandraFirstUnseenDAO firstUnseenDAO = new 
CassandraFirstUnseenDAO(CASSANDRA.getConf());
-        CassandraDeletedMessageDAO deletedMessageDAO = new 
CassandraDeletedMessageDAO(CASSANDRA.getConf());
+        CassandraMailboxDAO mailboxDAO = new 
CassandraMailboxDAO(cassandra.getConf(), cassandra.getTypesProvider(), 
MAX_ACL_RETRY);
+        CassandraMailboxPathDAO mailboxPathDAO = new 
CassandraMailboxPathDAO(cassandra.getConf(), cassandra.getTypesProvider());
+        CassandraFirstUnseenDAO firstUnseenDAO = new 
CassandraFirstUnseenDAO(cassandra.getConf());
+        CassandraDeletedMessageDAO deletedMessageDAO = new 
CassandraDeletedMessageDAO(cassandra.getConf());
         return new CassandraMailboxSessionMapperFactory(uidProvider,
             modSeqProvider,
-            CASSANDRA.getConf(),
+            cassandra.getConf(),
             messageDAO,
             messageIdDAO,
             imapUidDAO,
@@ -121,6 +110,27 @@ public class CassandraTestSystemFixture {
     }
 
     public static void clean() {
-        CASSANDRA.clearAllTables();
+        cassandra.clearAllTables();
+    }
+
+    public static void init() {
+        cassandra = CassandraCluster.create(
+                new CassandraModuleComposite(
+                    new CassandraAclModule(),
+                    new CassandraMailboxModule(),
+                    new CassandraMessageModule(),
+                    new CassandraMailboxCounterModule(),
+                    new CassandraMailboxRecentsModule(),
+                    new CassandraFirstUnseenModule(),
+                    new CassandraDeletedMessageModule(),
+                    new CassandraUidModule(),
+                    new CassandraModSeqModule(),
+                    new CassandraAttachmentModule(),
+                    new CassandraAnnotationModule(),
+                    new CassandraApplicableFlagsModule()));
+    }
+
+    public static void stop() {
+        cassandra.close();
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/event/distributed/CassandraBasedRegisteredDistributedMailboxDelegatingListenerTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/event/distributed/CassandraBasedRegisteredDistributedMailboxDelegatingListenerTest.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/event/distributed/CassandraBasedRegisteredDistributedMailboxDelegatingListenerTest.java
index bda23c5..e9b49fc 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/event/distributed/CassandraBasedRegisteredDistributedMailboxDelegatingListenerTest.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/event/distributed/CassandraBasedRegisteredDistributedMailboxDelegatingListenerTest.java
@@ -41,6 +41,7 @@ import 
org.apache.james.mailbox.store.json.event.EventConverter;
 import org.apache.james.mailbox.store.json.event.MailboxConverter;
 import org.apache.james.mailbox.store.mail.model.impl.SimpleMailbox;
 import org.apache.james.mailbox.util.EventCollector;
+import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -56,7 +57,7 @@ public class 
CassandraBasedRegisteredDistributedMailboxDelegatingListenerTest {
     public static final int CASSANDRA_TIME_OUT_IN_S = 10;
     public static final int SCHEDULER_PERIOD_IN_S = 20;
 
-    private CassandraCluster cassandraClusterSingleton = 
CassandraCluster.create(new CassandraRegistrationModule());
+    private CassandraCluster cassandra = CassandraCluster.create(new 
CassandraRegistrationModule());
     private RegisteredDelegatingMailboxListener 
registeredDelegatingMailboxListener1;
     private RegisteredDelegatingMailboxListener 
registeredDelegatingMailboxListener2;
     private RegisteredDelegatingMailboxListener 
registeredDelegatingMailboxListener3;
@@ -73,8 +74,8 @@ public class 
CassandraBasedRegisteredDistributedMailboxDelegatingListenerTest {
         PublisherReceiver publisherReceiver = new PublisherReceiver();
         DistantMailboxPathRegister mailboxPathRegister1 = new 
DistantMailboxPathRegister(
             new CassandraMailboxPathRegisterMapper(
-                cassandraClusterSingleton.getConf(),
-                cassandraClusterSingleton.getTypesProvider(),
+                cassandra.getConf(),
+                cassandra.getTypesProvider(),
                 CASSANDRA_TIME_OUT_IN_S),
             SCHEDULER_PERIOD_IN_S);
         registeredDelegatingMailboxListener1 = new 
RegisteredDelegatingMailboxListener(
@@ -87,8 +88,8 @@ public class 
CassandraBasedRegisteredDistributedMailboxDelegatingListenerTest {
             mailboxPathRegister1);
         DistantMailboxPathRegister mailboxPathRegister2 = new 
DistantMailboxPathRegister(
             new CassandraMailboxPathRegisterMapper(
-                cassandraClusterSingleton.getConf(),
-                cassandraClusterSingleton.getTypesProvider(),
+                cassandra.getConf(),
+                cassandra.getTypesProvider(),
                 CASSANDRA_TIME_OUT_IN_S),
             SCHEDULER_PERIOD_IN_S);
         registeredDelegatingMailboxListener2 = new 
RegisteredDelegatingMailboxListener(
@@ -101,8 +102,8 @@ public class 
CassandraBasedRegisteredDistributedMailboxDelegatingListenerTest {
             mailboxPathRegister2);
         DistantMailboxPathRegister mailboxPathRegister3 = new 
DistantMailboxPathRegister(
             new CassandraMailboxPathRegisterMapper(
-                cassandraClusterSingleton.getConf(),
-                cassandraClusterSingleton.getTypesProvider(),
+                cassandra.getConf(),
+                cassandra.getTypesProvider(),
                 CASSANDRA_TIME_OUT_IN_S),
             SCHEDULER_PERIOD_IN_S);
         registeredDelegatingMailboxListener3 = new 
RegisteredDelegatingMailboxListener(
@@ -128,6 +129,11 @@ public class 
CassandraBasedRegisteredDistributedMailboxDelegatingListenerTest {
         registeredDelegatingMailboxListener3.addListener(MAILBOX_PATH_2, 
eventCollectorMailbox3, mailboxSession);
     }
 
+    @After
+    public void tearDown() {
+        cassandra.close();
+    }
+
     @Test
     public void mailboxEventListenersShouldBeTriggeredIfRegistered() throws 
Exception {
         SimpleMailbox simpleMailbox = new SimpleMailbox(MAILBOX_PATH_1, 42);

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/event/distributed/CassandraMailboxPathRegistrerMapperTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/event/distributed/CassandraMailboxPathRegistrerMapperTest.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/event/distributed/CassandraMailboxPathRegistrerMapperTest.java
index fe5e29b..7cef1bc 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/event/distributed/CassandraMailboxPathRegistrerMapperTest.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/event/distributed/CassandraMailboxPathRegistrerMapperTest.java
@@ -24,6 +24,7 @@ import 
org.apache.james.mailbox.cassandra.modules.CassandraRegistrationModule;
 import org.apache.james.mailbox.model.MailboxPath;
 import org.apache.james.mailbox.store.publisher.Topic;
 import org.junit.After;
+import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -52,6 +53,11 @@ public class CassandraMailboxPathRegistrerMapperTest {
         cassandra.clearAllTables();
     }
 
+    @AfterClass
+    public static void stop() {
+        cassandra.close();
+    }
+
     @Test
     public void getTopicsShouldReturnEmptyResultByDefault() {
         assertThat(mapper.getTopics(MAILBOX_PATH)).isEmpty();

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraACLMapperTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraACLMapperTest.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraACLMapperTest.java
index 5e1d5a4..ae68dac 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraACLMapperTest.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraACLMapperTest.java
@@ -66,6 +66,7 @@ public class CassandraACLMapperTest {
     public void tearDown() {
         cassandra.clearAllTables();
         executor.shutdownNow();
+        cassandra.close();
     }
 
     @Test(expected = IllegalArgumentException.class)

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraApplicableFlagDAOTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraApplicableFlagDAOTest.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraApplicableFlagDAOTest.java
index 8d5450d..9e0ef58 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraApplicableFlagDAOTest.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraApplicableFlagDAOTest.java
@@ -56,6 +56,7 @@ public class CassandraApplicableFlagDAOTest {
     @After
     public void tearDown() throws Exception {
         cassandra.clearAllTables();
+        cassandra.close();
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraDeletedMessageDAOTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraDeletedMessageDAOTest.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraDeletedMessageDAOTest.java
index 06e751f..4251e35 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraDeletedMessageDAOTest.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraDeletedMessageDAOTest.java
@@ -58,6 +58,7 @@ public class CassandraDeletedMessageDAOTest {
     @After
     public void tearDown() {
         cassandra.clearAllTables();
+        cassandra.close();
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraFirstUnseenDAOTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraFirstUnseenDAOTest.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraFirstUnseenDAOTest.java
index d87f220..e921526 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraFirstUnseenDAOTest.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraFirstUnseenDAOTest.java
@@ -51,6 +51,7 @@ public class CassandraFirstUnseenDAOTest {
     @After
     public void tearDown() {
         cassandra.clearAllTables();
+        cassandra.close();
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraIndexTableHandlerTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraIndexTableHandlerTest.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraIndexTableHandlerTest.java
index 184e114..89c5f3e 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraIndexTableHandlerTest.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraIndexTableHandlerTest.java
@@ -100,6 +100,7 @@ public class CassandraIndexTableHandlerTest {
     @After
     public void tearDown() {
         cassandra.clearAllTables();
+        cassandra.close();
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxCounterDAOTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxCounterDAOTest.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxCounterDAOTest.java
index 58e0c10..bfabb43 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxCounterDAOTest.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxCounterDAOTest.java
@@ -54,6 +54,7 @@ public class CassandraMailboxCounterDAOTest {
     @After
     public void tearDown() {
         cassandra.clearAllTables();
+        cassandra.close();
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxDAOTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxDAOTest.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxDAOTest.java
index 6cc79e9..3a90d4c 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxDAOTest.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxDAOTest.java
@@ -68,6 +68,7 @@ public class CassandraMailboxDAOTest {
     @After
     public void tearDown() {
         cassandra.clearAllTables();
+        cassandra.close();
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxManagerAttachmentTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxManagerAttachmentTest.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxManagerAttachmentTest.java
index f7513d9..75d4b4b 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxManagerAttachmentTest.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxManagerAttachmentTest.java
@@ -45,20 +45,35 @@ import org.apache.james.mailbox.store.Authorizator;
 import org.apache.james.mailbox.store.MailboxSessionMapperFactory;
 import org.apache.james.mailbox.store.NoMailboxPathLocker;
 import org.apache.james.mailbox.store.mail.model.impl.MessageParser;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
 
 public class CassandraMailboxManagerAttachmentTest extends 
AbstractMailboxManagerAttachmentTest {
-    private static final CassandraCluster cassandra = 
CassandraCluster.create(new CassandraModuleComposite(
-            new CassandraAclModule(),
-            new CassandraMailboxModule(),
-            new CassandraMessageModule(),
-            new CassandraMailboxCounterModule(),
-            new CassandraMailboxRecentsModule(),
-            new CassandraFirstUnseenModule(),
-            new CassandraDeletedMessageModule(),
-            new CassandraModSeqModule(),
-            new CassandraUidModule(),
-            new CassandraAttachmentModule(),
-            new CassandraApplicableFlagsModule()));
+
+    private static CassandraCluster cassandra;
+
+    @BeforeClass
+    public static void init() {
+        cassandra = CassandraCluster.create(
+                new CassandraModuleComposite(
+                    new CassandraAclModule(),
+                    new CassandraMailboxModule(),
+                    new CassandraMessageModule(),
+                    new CassandraMailboxCounterModule(),
+                    new CassandraMailboxRecentsModule(),
+                    new CassandraFirstUnseenModule(),
+                    new CassandraDeletedMessageModule(),
+                    new CassandraModSeqModule(),
+                    new CassandraUidModule(),
+                    new CassandraAttachmentModule(),
+                    new CassandraApplicableFlagsModule()));
+    }
+
+    @AfterClass
+    public static void close() {
+        cassandra.close();
+    }
+
     public static final int MAX_ACL_RETRY = 10;
 
     private CassandraMailboxSessionMapperFactory mailboxSessionMapperFactory;

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperConcurrencyTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperConcurrencyTest.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperConcurrencyTest.java
index 14363c6..749242e 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperConcurrencyTest.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperConcurrencyTest.java
@@ -59,6 +59,7 @@ public class CassandraMailboxMapperConcurrencyTest {
     @After
     public void tearDown() {
         cassandra.clearAllTables();
+        cassandra.close();
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperTest.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperTest.java
index f793298..22113d8 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperTest.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapperTest.java
@@ -62,6 +62,7 @@ public class CassandraMailboxMapperTest {
     @After
     public void tearDown() {
         cassandra.clearAllTables();
+        cassandra.close();
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxPathDAOTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxPathDAOTest.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxPathDAOTest.java
index b6c1c10..bbb9dba 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxPathDAOTest.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxPathDAOTest.java
@@ -66,6 +66,7 @@ public class CassandraMailboxPathDAOTest {
     @After
     public void tearDown() throws Exception {
         cassandra.clearAllTables();
+        cassandra.close();
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxRecentDAOTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxRecentDAOTest.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxRecentDAOTest.java
index 0517b4f..206e2c5 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxRecentDAOTest.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxRecentDAOTest.java
@@ -27,7 +27,6 @@ import org.apache.james.backends.cassandra.CassandraCluster;
 import org.apache.james.mailbox.MessageUid;
 import org.apache.james.mailbox.cassandra.CassandraId;
 import 
org.apache.james.mailbox.cassandra.modules.CassandraMailboxRecentsModule;
-import org.apache.james.util.FluentFutureStream;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -53,6 +52,7 @@ public class CassandraMailboxRecentDAOTest {
     @After
     public void tearDown() {
         cassandra.clearAllTables();
+        cassandra.close();
     }
 
     @Test
@@ -121,9 +121,9 @@ public class CassandraMailboxRecentDAOTest {
     public void 
getRecentMessageUidsInMailboxShouldNotTimeoutWhenOverPagingLimit() throws 
Exception {
         int pageSize = 5000;
         int size = pageSize + 1000;
-        FluentFutureStream.of(IntStream.range(0, size)
-            .mapToObj(i -> testee.addToRecent(CASSANDRA_ID, MessageUid.of(i + 
1))))
-            .join();
+        IntStream.range(0, size)
+            .parallel()
+            .forEach(i -> testee.addToRecent(CASSANDRA_ID, MessageUid.of(i + 
1)).join());
 
         assertThat(testee.getRecentMessageUidsInMailbox(CASSANDRA_ID).join()
             .collect(Guavate.toImmutableList())).hasSize(size);

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMapperProvider.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMapperProvider.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMapperProvider.java
index 0a358db..c16e05d 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMapperProvider.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMapperProvider.java
@@ -57,28 +57,31 @@ import com.google.common.collect.ImmutableList;
 public class CassandraMapperProvider implements MapperProvider {
 
     private static final Factory MESSAGE_ID_FACTORY = new 
CassandraMessageId.Factory();
-    private static final MockMailboxSession MAILBOX_SESSION = new 
MockMailboxSession("benwa");
-    private static final CassandraCluster cassandra = 
CassandraCluster.create(new CassandraModuleComposite(
-        new CassandraAclModule(),
-        new CassandraMailboxModule(),
-        new CassandraMessageModule(),
-        new CassandraMailboxCounterModule(),
-        new CassandraMailboxRecentsModule(),
-        new CassandraModSeqModule(),
-        new CassandraUidModule(),
-        new CassandraAttachmentModule(),
-        new CassandraAnnotationModule(),
-        new CassandraFirstUnseenModule(),
-        new CassandraApplicableFlagsModule(),
-        new CassandraDeletedMessageModule()));
     public static final int MAX_ACL_RETRY = 10;
 
+    private final CassandraCluster cassandra;
     private final MessageUidProvider messageUidProvider;
     private final CassandraModSeqProvider cassandraModSeqProvider;
+    private final MockMailboxSession mailboxSession = new 
MockMailboxSession("benwa");
+
 
     public CassandraMapperProvider() {
+        this.cassandra = CassandraCluster.create(
+                new CassandraModuleComposite(
+                    new CassandraAclModule(),
+                    new CassandraMailboxModule(),
+                    new CassandraMessageModule(),
+                    new CassandraMailboxCounterModule(),
+                    new CassandraMailboxRecentsModule(),
+                    new CassandraModSeqModule(),
+                    new CassandraUidModule(),
+                    new CassandraAttachmentModule(),
+                    new CassandraAnnotationModule(),
+                    new CassandraFirstUnseenModule(),
+                    new CassandraApplicableFlagsModule(),
+                    new CassandraDeletedMessageModule()));
         messageUidProvider = new MessageUidProvider();
-        cassandraModSeqProvider = new 
CassandraModSeqProvider(cassandra.getConf());
+        cassandraModSeqProvider = new 
CassandraModSeqProvider(this.cassandra.getConf());
     }
 
     @Override
@@ -88,17 +91,17 @@ public class CassandraMapperProvider implements 
MapperProvider {
     
     @Override
     public MailboxMapper createMailboxMapper() throws MailboxException {
-        return createMapperFactory().getMailboxMapper(MAILBOX_SESSION);
+        return createMapperFactory().getMailboxMapper(mailboxSession);
     }
 
     @Override
     public MessageMapper createMessageMapper() throws MailboxException {
-        return createMapperFactory().getMessageMapper(MAILBOX_SESSION);
+        return createMapperFactory().getMessageMapper(mailboxSession);
     }
 
     @Override
     public MessageIdMapper createMessageIdMapper() throws MailboxException {
-        return createMapperFactory().getMessageIdMapper(MAILBOX_SESSION);
+        return createMapperFactory().getMessageIdMapper(mailboxSession);
     }
 
     private CassandraMailboxSessionMapperFactory createMapperFactory() {
@@ -124,7 +127,7 @@ public class CassandraMapperProvider implements 
MapperProvider {
 
     @Override
     public AttachmentMapper createAttachmentMapper() throws MailboxException {
-        return createMapperFactory().getAttachmentMapper(MAILBOX_SESSION);
+        return createMapperFactory().getAttachmentMapper(mailboxSession);
     }
 
     @Override
@@ -149,7 +152,7 @@ public class CassandraMapperProvider implements 
MapperProvider {
 
     @Override
     public AnnotationMapper createAnnotationMapper() throws MailboxException {
-        return createMapperFactory().getAnnotationMapper(MAILBOX_SESSION);
+        return createMapperFactory().getAnnotationMapper(mailboxSession);
     }
 
     @Override
@@ -173,4 +176,9 @@ public class CassandraMapperProvider implements 
MapperProvider {
         MailboxSession mailboxSession = null;
         return cassandraModSeqProvider.highestModSeq(mailboxSession, mailbox);
     }
+
+    @Override
+    public void close() {
+        cassandra.close();
+    }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAOTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAOTest.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAOTest.java
index 5bc6bdd..2d10872 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAOTest.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAOTest.java
@@ -92,6 +92,7 @@ public class CassandraMessageDAOTest {
     @After
     public void tearDown() {
         cassandra.clearAllTables();
+        cassandra.close();
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdDAOTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdDAOTest.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdDAOTest.java
index 9668329..8b268b3 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdDAOTest.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdDAOTest.java
@@ -60,6 +60,7 @@ public class CassandraMessageIdDAOTest {
     @After
     public void tearDown() {
         cassandra.clearAllTables();
+        cassandra.close();
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdToImapUidDAOTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdToImapUidDAOTest.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdToImapUidDAOTest.java
index 92e0606..1627e30 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdToImapUidDAOTest.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdToImapUidDAOTest.java
@@ -61,6 +61,7 @@ public class CassandraMessageIdToImapUidDAOTest {
     @After
     public void tearDown() {
         cassandra.clearAllTables();
+        cassandra.close();
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraModSeqProviderTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraModSeqProviderTest.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraModSeqProviderTest.java
index badfd32..81bff9e 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraModSeqProviderTest.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraModSeqProviderTest.java
@@ -38,11 +38,8 @@ import com.github.fge.lambdas.Throwing;
 
 public class CassandraModSeqProviderTest {
 
-    private static final CassandraCluster CASSANDRA = 
CassandraCluster.create(new CassandraModuleComposite(
-        new CassandraAclModule(),
-        new CassandraMailboxModule(),
-        new CassandraModSeqModule()));
-    
+    private CassandraCluster cassandra;
+
     private static final int MAX_RETRY = 100;
     
     private CassandraModSeqProvider modSeqProvider;
@@ -51,11 +48,16 @@ public class CassandraModSeqProviderTest {
 
     @Before
     public void setUpClass() throws Exception {
-        CASSANDRA.ensureAllTables();
-        modSeqProvider = new CassandraModSeqProvider(CASSANDRA.getConf());
-        CassandraMailboxDAO mailboxDAO = new 
CassandraMailboxDAO(CASSANDRA.getConf(), CASSANDRA.getTypesProvider(), 
MAX_RETRY);
-        CassandraMailboxPathDAO mailboxPathDAO = new 
CassandraMailboxPathDAO(CASSANDRA.getConf(), CASSANDRA.getTypesProvider());
-        mapper = new CassandraMailboxMapper(CASSANDRA.getConf(), mailboxDAO, 
mailboxPathDAO, MAX_RETRY);
+        cassandra = CassandraCluster.create(
+                new CassandraModuleComposite(
+                    new CassandraAclModule(),
+                    new CassandraMailboxModule(),
+                    new CassandraModSeqModule()));
+        cassandra.ensureAllTables();
+        modSeqProvider = new CassandraModSeqProvider(cassandra.getConf());
+        CassandraMailboxDAO mailboxDAO = new 
CassandraMailboxDAO(cassandra.getConf(), cassandra.getTypesProvider(), 
MAX_RETRY);
+        CassandraMailboxPathDAO mailboxPathDAO = new 
CassandraMailboxPathDAO(cassandra.getConf(), cassandra.getTypesProvider());
+        mapper = new CassandraMailboxMapper(cassandra.getConf(), mailboxDAO, 
mailboxPathDAO, MAX_RETRY);
         MailboxPath path = new MailboxPath("gsoc", "ieugen", "Trash");
         mailbox = new SimpleMailbox(path, 1234);
         mapper.save(mailbox);
@@ -63,7 +65,8 @@ public class CassandraModSeqProviderTest {
     
     @After
     public void cleanUp() {
-        CASSANDRA.clearAllTables();
+        cassandra.clearAllTables();
+        cassandra.close();
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProviderTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProviderTest.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProviderTest.java
index 5f74722..c93a1c4 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProviderTest.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProviderTest.java
@@ -40,7 +40,7 @@ import com.google.common.base.Optional;
 
 public class CassandraUidProviderTest {
 
-    private static final CassandraCluster CASSANDRA = 
CassandraCluster.create(new CassandraModuleComposite(
+    private final CassandraCluster cassandra = CassandraCluster.create(new 
CassandraModuleComposite(
         new CassandraAclModule(),
         new CassandraMailboxModule(),
         new CassandraUidModule()));
@@ -53,11 +53,11 @@ public class CassandraUidProviderTest {
 
     @Before
     public void setUpClass() throws Exception {
-        CASSANDRA.ensureAllTables();
-        uidProvider = new CassandraUidProvider(CASSANDRA.getConf());
-        CassandraMailboxDAO mailboxDAO = new 
CassandraMailboxDAO(CASSANDRA.getConf(), CASSANDRA.getTypesProvider(), 
MAX_RETRY);
-        CassandraMailboxPathDAO mailboxPathDAO = new 
CassandraMailboxPathDAO(CASSANDRA.getConf(), CASSANDRA.getTypesProvider());
-        mapper = new CassandraMailboxMapper(CASSANDRA.getConf(), mailboxDAO, 
mailboxPathDAO, MAX_RETRY);
+        cassandra.ensureAllTables();
+        uidProvider = new CassandraUidProvider(cassandra.getConf());
+        CassandraMailboxDAO mailboxDAO = new 
CassandraMailboxDAO(cassandra.getConf(), cassandra.getTypesProvider(), 
MAX_RETRY);
+        CassandraMailboxPathDAO mailboxPathDAO = new 
CassandraMailboxPathDAO(cassandra.getConf(), cassandra.getTypesProvider());
+        mapper = new CassandraMailboxMapper(cassandra.getConf(), mailboxDAO, 
mailboxPathDAO, MAX_RETRY);
         MailboxPath path = new MailboxPath("gsoc", "ieugen", "Trash");
         mailbox = new SimpleMailbox(path, 1234);
         mapper.save(mailbox);
@@ -65,7 +65,8 @@ public class CassandraUidProviderTest {
     
     @After
     public void cleanUp() {
-        CASSANDRA.clearAllTables();
+        cassandra.clearAllTables();
+        cassandra.close();
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/quota/CassandraCurrentQuotaManagerTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/quota/CassandraCurrentQuotaManagerTest.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/quota/CassandraCurrentQuotaManagerTest.java
index acea272..f5f4893 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/quota/CassandraCurrentQuotaManagerTest.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/quota/CassandraCurrentQuotaManagerTest.java
@@ -24,19 +24,24 @@ import 
org.apache.james.mailbox.cassandra.modules.CassandraQuotaModule;
 import org.apache.james.mailbox.store.quota.StoreCurrentQuotaManager;
 import org.apache.james.mailbox.store.quota.StoreCurrentQuotaManagerTest;
 import org.junit.After;
+import org.junit.AfterClass;
 
 public class CassandraCurrentQuotaManagerTest extends 
StoreCurrentQuotaManagerTest {
 
-    private static final CassandraCluster CASSANDRA_CLUSTER = 
CassandraCluster.create(new CassandraQuotaModule());
+    private static final CassandraCluster cassandra = 
CassandraCluster.create(new CassandraQuotaModule());
 
     @Override
     protected StoreCurrentQuotaManager provideTestee() {
-        return new CassandraCurrentQuotaManager(CASSANDRA_CLUSTER.getConf());
+        return new CassandraCurrentQuotaManager(cassandra.getConf());
     }
 
     @After
     public void tearDown() {
-        CASSANDRA_CLUSTER.clearAllTables();
+        cassandra.clearAllTables();
     }
 
+    @AfterClass
+    public static void stop() {
+        cassandra.close();
+    }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/quota/CassandraPerUserMaxQuotaManagerTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/quota/CassandraPerUserMaxQuotaManagerTest.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/quota/CassandraPerUserMaxQuotaManagerTest.java
index 48bbc32..499449c 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/quota/CassandraPerUserMaxQuotaManagerTest.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/quota/CassandraPerUserMaxQuotaManagerTest.java
@@ -39,6 +39,7 @@ public class CassandraPerUserMaxQuotaManagerTest extends 
GenericMaxQuotaManagerT
     @After
     public void cleanUp() {
         cassandra.clearAllTables();
+        cassandra.close();
     }
 
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/user/CassandraSubscriptionMapperTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/user/CassandraSubscriptionMapperTest.java
 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/user/CassandraSubscriptionMapperTest.java
index 63510ad..8399756 100644
--- 
a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/user/CassandraSubscriptionMapperTest.java
+++ 
b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/user/CassandraSubscriptionMapperTest.java
@@ -23,19 +23,25 @@ import 
org.apache.james.mailbox.cassandra.modules.CassandraSubscriptionModule;
 import org.apache.james.mailbox.store.user.SubscriptionMapper;
 import org.apache.james.mailbox.store.user.SubscriptionMapperTest;
 import org.junit.After;
+import org.junit.AfterClass;
 
 public class CassandraSubscriptionMapperTest extends SubscriptionMapperTest {
 
-    private static final CassandraCluster CLUSTER = 
CassandraCluster.create(new CassandraSubscriptionModule());
+    private static final CassandraCluster cassandra = 
CassandraCluster.create(new CassandraSubscriptionModule());
 
     @Override
     protected SubscriptionMapper createSubscriptionMapper() {
-        CLUSTER.ensureAllTables();
-        return new CassandraSubscriptionMapper(CLUSTER.getConf());
+        cassandra.ensureAllTables();
+        return new CassandraSubscriptionMapper(cassandra.getConf());
     }
 
     @After
     public void tearDown() {
-        CLUSTER.clearAllTables();
+        cassandra.clearAllTables();
+    }
+
+    @AfterClass
+    public static void stop() {
+        cassandra.close();
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/JPAMapperProvider.java
----------------------------------------------------------------------
diff --git 
a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/JPAMapperProvider.java
 
b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/JPAMapperProvider.java
index 244198a..1a68198 100644
--- 
a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/JPAMapperProvider.java
+++ 
b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/JPAMapperProvider.java
@@ -19,6 +19,7 @@
 
 package org.apache.james.mailbox.jpa.mail;
 
+import java.io.IOException;
 import java.util.List;
 import java.util.Random;
 
@@ -130,4 +131,9 @@ public class JPAMapperProvider implements MapperProvider {
     public long highestModSeq(Mailbox mailbox) throws MailboxException {
         throw new NotImplementedException();
     }
+
+    @Override
+    public void close() throws IOException {
+
+    }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/mail/InMemoryMapperProvider.java
----------------------------------------------------------------------
diff --git 
a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/mail/InMemoryMapperProvider.java
 
b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/mail/InMemoryMapperProvider.java
index bcf216f..230adae 100644
--- 
a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/mail/InMemoryMapperProvider.java
+++ 
b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/mail/InMemoryMapperProvider.java
@@ -19,6 +19,7 @@
 
 package org.apache.james.mailbox.inmemory.mail;
 
+import java.io.IOException;
 import java.util.List;
 import java.util.Random;
 
@@ -132,4 +133,9 @@ public class InMemoryMapperProvider implements 
MapperProvider {
         return inMemoryMailboxSessionMapperFactory.getModSeqProvider()
             .highestModSeq(new MockMailboxSession("user"), mailbox);
     }
+
+    @Override
+    public void close() throws IOException {
+
+    }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/pom.xml b/mailbox/pom.xml
index 5183f81..d8b974d 100644
--- a/mailbox/pom.xml
+++ b/mailbox/pom.xml
@@ -106,7 +106,6 @@
         <guava.version>18.0</guava.version>
         <assertj.version>1.7.1</assertj.version>
         <jackson-databinding.version>2.6.3</jackson-databinding.version>
-        <cassandra-driver-core.version>2.1.8</cassandra-driver-core.version>
         <cassandra-unit.version>2.1.9.2</cassandra-unit.version>
         <assertj-1.version>1.7.1</assertj-1.version>
         <assertj-3.version>3.2.0</assertj-3.version>

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/AnnotationMapperTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/AnnotationMapperTest.java
 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/AnnotationMapperTest.java
index 13fa75a..a3003d4 100644
--- 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/AnnotationMapperTest.java
+++ 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/AnnotationMapperTest.java
@@ -72,8 +72,9 @@ public abstract class AnnotationMapperTest {
     }
 
     @After
-    public void tearDown() throws MailboxException {
+    public void tearDown() throws Exception {
         mapperProvider.clearMapper();
+        mapperProvider.close();
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/AttachmentMapperTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/AttachmentMapperTest.java
 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/AttachmentMapperTest.java
index b0c7797..0da9407 100644
--- 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/AttachmentMapperTest.java
+++ 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/AttachmentMapperTest.java
@@ -32,8 +32,8 @@ import org.junit.After;
 import org.junit.Assume;
 import org.junit.Before;
 import org.junit.Rule;
-import org.junit.rules.ExpectedException;
 import org.junit.Test;
+import org.junit.rules.ExpectedException;
 
 import com.google.common.base.Charsets;
 import com.google.common.collect.ImmutableList;
@@ -56,8 +56,9 @@ public abstract class AttachmentMapperTest {
     }
 
     @After
-    public void tearDown() throws MailboxException {
+    public void tearDown() throws Exception {
         mapperProvider.clearMapper();
+        mapperProvider.close();
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MailboxMapperTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MailboxMapperTest.java
 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MailboxMapperTest.java
index 8b36d37..598cfda 100644
--- 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MailboxMapperTest.java
+++ 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MailboxMapperTest.java
@@ -97,8 +97,9 @@ public abstract class MailboxMapperTest {
     }
 
     @After
-    public void tearDown() throws MailboxException {
+    public void tearDown() throws Exception {
         mapperProvider.clearMapper();
+        mapperProvider.close();
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MapperProvider.java
----------------------------------------------------------------------
diff --git 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MapperProvider.java
 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MapperProvider.java
index d33d4f8..ff9ada6 100644
--- 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MapperProvider.java
+++ 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MapperProvider.java
@@ -19,6 +19,7 @@
 
 package org.apache.james.mailbox.store.mail.model;
 
+import java.io.Closeable;
 import java.util.List;
 
 import org.apache.james.mailbox.MessageUid;
@@ -31,7 +32,7 @@ import org.apache.james.mailbox.store.mail.MailboxMapper;
 import org.apache.james.mailbox.store.mail.MessageIdMapper;
 import org.apache.james.mailbox.store.mail.MessageMapper;
 
-public interface MapperProvider {
+public interface MapperProvider extends Closeable {
     enum Capabilities {
         MESSAGE,
         MAILBOX,

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageIdMapperTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageIdMapperTest.java
 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageIdMapperTest.java
index 5c2f47b..308baa4 100644
--- 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageIdMapperTest.java
+++ 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageIdMapperTest.java
@@ -103,8 +103,9 @@ public abstract class MessageIdMapperTest {
     }
 
     @After
-    public void tearDown() throws MailboxException {
+    public void tearDown() throws Exception {
         mapperProvider.clearMapper();
+        mapperProvider.close();
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageMapperTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageMapperTest.java
 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageMapperTest.java
index c357ff8..6e9e1b5 100644
--- 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageMapperTest.java
+++ 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageMapperTest.java
@@ -117,8 +117,9 @@ public abstract class MessageMapperTest {
     }
 
     @After
-    public void tearDown() throws MailboxException {
+    public void tearDown() throws Exception {
         mapperProvider.clearMapper();
+        mapperProvider.close();
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageMoveTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageMoveTest.java
 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageMoveTest.java
index ff9460a..de266ab 100644
--- 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageMoveTest.java
+++ 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageMoveTest.java
@@ -78,8 +78,9 @@ public abstract class MessageMoveTest {
     }
 
     @After
-    public void tearDown() throws MailboxException {
+    public void tearDown() throws Exception {
         mapperProvider.clearMapper();
+        mapperProvider.close();
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageWithAttachmentMapperTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageWithAttachmentMapperTest.java
 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageWithAttachmentMapperTest.java
index 724234c..0ece2a8 100644
--- 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageWithAttachmentMapperTest.java
+++ 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageWithAttachmentMapperTest.java
@@ -122,8 +122,9 @@ public abstract class MessageWithAttachmentMapperTest {
     }
 
     @After
-    public void tearDown() throws MailboxException {
+    public void tearDown() throws Exception {
         mapperProvider.clearMapper();
+        mapperProvider.close();
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java
----------------------------------------------------------------------
diff --git 
a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java
 
b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java
index 04ff8ce..6208d52 100644
--- 
a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java
+++ 
b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java
@@ -224,7 +224,7 @@ public class CassandraSessionModule extends AbstractModule {
 
         percentileLatencyConf.ifPresent(slowQueryLatencyThresholdPercentile -> 
{
             PerHostPercentileTracker tracker = PerHostPercentileTracker
-                
.builderWithHighestTrackableLatencyMillis(CASSANDRA_HIGHEST_TRACKABLE_LATENCY_MILLIS)
+                .builder(CASSANDRA_HIGHEST_TRACKABLE_LATENCY_MILLIS)
                 .build();
 
             builder.withDynamicThreshold(tracker, 
slowQueryLatencyThresholdPercentile);

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraActiveScriptDAO.java
----------------------------------------------------------------------
diff --git 
a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraActiveScriptDAO.java
 
b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraActiveScriptDAO.java
index 5832e0a..3ffe185 100644
--- 
a/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraActiveScriptDAO.java
+++ 
b/server/data/data-cassandra/src/main/java/org/apache/james/sieve/cassandra/CassandraActiveScriptDAO.java
@@ -69,7 +69,7 @@ public class CassandraActiveScriptDAO {
                 .setString(USER_NAME, username))
             .thenApply(rowOptional -> rowOptional.map(row -> new 
ActiveScriptInfo(
                 row.getString(SCRIPT_NAME),
-                row.getDate(DATE))));
+                row.getTimestamp(DATE))));
     }
 
     public CompletableFuture<Void> unactivate(String username) {
@@ -83,6 +83,6 @@ public class CassandraActiveScriptDAO {
             insertActive.bind()
                 .setString(USER_NAME, username)
                 .setString(SCRIPT_NAME, scriptName)
-                .setDate(DATE, new Date()));
+                .setTimestamp(DATE, new Date()));
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTableTest.java
----------------------------------------------------------------------
diff --git 
a/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTableTest.java
 
b/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTableTest.java
index 41999a7..60068e5 100644
--- 
a/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTableTest.java
+++ 
b/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTableTest.java
@@ -45,6 +45,7 @@ public class CassandraRecipientRewriteTableTest extends 
AbstractRecipientRewrite
     public void tearDown() throws Exception {
         super.tearDown();
         cassandra.clearAllTables();
+        cassandra.close();
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraStepdefs.java
----------------------------------------------------------------------
diff --git 
a/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraStepdefs.java
 
b/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraStepdefs.java
index fe15e56..6f25a92 100644
--- 
a/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraStepdefs.java
+++ 
b/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraStepdefs.java
@@ -47,6 +47,7 @@ public class CassandraStepdefs {
     @After
     public void tearDown() {
         cassandra.clearAllTables();
+        cassandra.close();
     }
 
     private AbstractRecipientRewriteTable getRecipientRewriteTable() throws 
Exception {

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/server/data/data-cassandra/src/test/java/org/apache/james/sieve/cassandra/CassandraActiveScriptDAOTest.java
----------------------------------------------------------------------
diff --git 
a/server/data/data-cassandra/src/test/java/org/apache/james/sieve/cassandra/CassandraActiveScriptDAOTest.java
 
b/server/data/data-cassandra/src/test/java/org/apache/james/sieve/cassandra/CassandraActiveScriptDAOTest.java
index efdfa14..d1c8beb 100644
--- 
a/server/data/data-cassandra/src/test/java/org/apache/james/sieve/cassandra/CassandraActiveScriptDAOTest.java
+++ 
b/server/data/data-cassandra/src/test/java/org/apache/james/sieve/cassandra/CassandraActiveScriptDAOTest.java
@@ -34,11 +34,13 @@ public class CassandraActiveScriptDAOTest {
     public static final String USER = "user";
     public static final String SCRIPT_NAME = "sciptName";
     public static final String NEW_SCRIPT_NAME = "newScriptName";
-    private static CassandraCluster cassandra = CassandraCluster.create(new 
CassandraSieveRepositoryModule());
+    
+    private CassandraCluster cassandra;
     private CassandraActiveScriptDAO activeScriptDAO;
 
     @Before
     public void setUp() {
+        cassandra = CassandraCluster.create(new 
CassandraSieveRepositoryModule());
         cassandra.ensureAllTables();
         activeScriptDAO = new CassandraActiveScriptDAO(cassandra.getConf());
     }
@@ -46,6 +48,7 @@ public class CassandraActiveScriptDAOTest {
     @After
     public void tearDown() {
         cassandra.clearAllTables();
+        cassandra.close();
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/james-project/blob/b93d42ca/server/data/data-cassandra/src/test/java/org/apache/james/sieve/cassandra/CassandraSieveDAOTest.java
----------------------------------------------------------------------
diff --git 
a/server/data/data-cassandra/src/test/java/org/apache/james/sieve/cassandra/CassandraSieveDAOTest.java
 
b/server/data/data-cassandra/src/test/java/org/apache/james/sieve/cassandra/CassandraSieveDAOTest.java
index 243279b..f665ddd 100644
--- 
a/server/data/data-cassandra/src/test/java/org/apache/james/sieve/cassandra/CassandraSieveDAOTest.java
+++ 
b/server/data/data-cassandra/src/test/java/org/apache/james/sieve/cassandra/CassandraSieveDAOTest.java
@@ -54,11 +54,13 @@ public class CassandraSieveDAOTest {
         .copyOf(SCRIPT)
         .content("newContent")
         .build();
-    private static CassandraCluster cassandra = CassandraCluster.create(new 
CassandraSieveRepositoryModule());
+    
+    private CassandraCluster cassandra;
     private CassandraSieveDAO sieveDAO;
 
     @Before
     public void setUp() {
+        cassandra = CassandraCluster.create(new 
CassandraSieveRepositoryModule());
         cassandra.ensureAllTables();
         sieveDAO = new CassandraSieveDAO(cassandra.getConf());
     }
@@ -66,6 +68,7 @@ public class CassandraSieveDAOTest {
     @After
     public void tearDown() {
         cassandra.clearAllTables();
+        cassandra.close();
     }
 
     @Test


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to