Repository: james-project
Updated Branches:
  refs/heads/master cec7d2936 -> 45282dfde


JAMES-2073 EmbeddedCassandra should launch Cassandra on random port


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

Branch: refs/heads/master
Commit: b750bbd5c98c4759c71f70a4248c584b0c64592a
Parents: 2bf39da
Author: Antoine Duprat <adup...@linagora.com>
Authored: Tue Jun 27 14:50:41 2017 +0200
Committer: benwa <btell...@linagora.com>
Committed: Fri Jun 30 10:15:45 2017 +0700

----------------------------------------------------------------------
 .../backends/cassandra/CassandraCluster.java     | 19 ++++++++++---------
 .../backends/cassandra/EmbeddedCassandra.java    | 11 ++++++++---
 2 files changed, 18 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/b750bbd5/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 4511d32..40f6fbe 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
@@ -18,10 +18,11 @@
  ****************************************************************/
 package org.apache.james.backends.cassandra;
 
-import com.datastax.driver.core.Cluster;
-import com.datastax.driver.core.Session;
-import com.datastax.driver.core.exceptions.NoHostAvailableException;
-import com.google.common.base.Throwables;
+import java.util.Optional;
+
+import javax.annotation.PreDestroy;
+import javax.inject.Inject;
+
 import org.apache.james.backends.cassandra.components.CassandraModule;
 import org.apache.james.backends.cassandra.init.CassandraTableManager;
 import org.apache.james.backends.cassandra.init.CassandraTypesProvider;
@@ -30,13 +31,13 @@ import 
org.apache.james.backends.cassandra.init.ClusterWithKeyspaceCreatedFactor
 import 
org.apache.james.backends.cassandra.init.SessionWithInitializedTablesFactory;
 import org.apache.james.backends.cassandra.utils.FunctionRunnerWithRetry;
 
-import javax.annotation.PreDestroy;
-import javax.inject.Inject;
-import java.util.Optional;
+import com.datastax.driver.core.Cluster;
+import com.datastax.driver.core.Session;
+import com.datastax.driver.core.exceptions.NoHostAvailableException;
+import com.google.common.base.Throwables;
 
 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";
     private static final int REPLICATION_FACTOR = 1;
 
@@ -58,7 +59,7 @@ public final class CassandraCluster implements AutoCloseable {
         try {
             cluster = ClusterBuilder.builder()
                 .host(CLUSTER_IP)
-                .port(CLUSTER_PORT_TEST)
+                .port(embeddedCassandra.getPort())
                 .build();
             session = new 
FunctionRunnerWithRetry(MAX_RETRY).executeAndRetrieveObject(CassandraCluster.this::tryInitializeSession);
             typesProvider = new CassandraTypesProvider(module, session);

http://git-wip-us.apache.org/repos/asf/james-project/blob/b750bbd5/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/EmbeddedCassandra.java
----------------------------------------------------------------------
diff --git 
a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/EmbeddedCassandra.java
 
b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/EmbeddedCassandra.java
index 156bc73..ab0a331 100644
--- 
a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/EmbeddedCassandra.java
+++ 
b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/EmbeddedCassandra.java
@@ -29,6 +29,7 @@ import com.google.common.base.Throwables;
 
 public class EmbeddedCassandra {
 
+    private int port;
 
     public static EmbeddedCassandra createStartServer() {
         return new EmbeddedCassandra();
@@ -36,10 +37,14 @@ public class EmbeddedCassandra {
 
     private EmbeddedCassandra() {
         try {
-            
EmbeddedCassandraServerHelper.startEmbeddedCassandra(TimeUnit.SECONDS.toMillis(20));
-        } catch (ConfigurationException | TTransportException | IOException | 
InterruptedException e) {
+            
EmbeddedCassandraServerHelper.startEmbeddedCassandra(EmbeddedCassandraServerHelper.CASSANDRA_RNDPORT_YML_FILE,
 TimeUnit.SECONDS.toMillis(20));
+            port = EmbeddedCassandraServerHelper.getNativeTransportPort();
+        } catch (ConfigurationException | TTransportException | IOException e) 
{
             Throwables.propagate(e);
         }
     }
-    
+
+    public int getPort() {
+        return port;
+    }
 }


---------------------------------------------------------------------
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