You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2019/06/21 04:39:45 UTC
[james-project] 02/02: JAMES-2797 Remove ThreadLocalRandom binding
in RabbitMQModule
This is an automated email from the ASF dual-hosted git repository.
btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 51da8029337b4ed53c189f6e9dba70bd2486415a
Author: Tran Tien Duc <dt...@linagora.com>
AuthorDate: Thu Jun 20 10:38:04 2019 +0700
JAMES-2797 Remove ThreadLocalRandom binding in RabbitMQModule
---
.../java/org/apache/james/modules/rabbitmq/RabbitMQModule.java | 3 ---
.../rabbitmq/view/cassandra/CassandraMailQueueMailDelete.java | 7 ++-----
.../queue/rabbitmq/RabbitMQMailQueueConfigurationChangeTest.java | 6 +-----
.../org/apache/james/queue/rabbitmq/RabbitMQMailQueueTest.java | 4 +---
.../rabbitmq/view/cassandra/CassandraMailQueueViewTestFactory.java | 5 ++---
5 files changed, 6 insertions(+), 19 deletions(-)
diff --git a/server/container/guice/rabbitmq/src/main/java/org/apache/james/modules/rabbitmq/RabbitMQModule.java b/server/container/guice/rabbitmq/src/main/java/org/apache/james/modules/rabbitmq/RabbitMQModule.java
index ec74bf4..e54963c 100644
--- a/server/container/guice/rabbitmq/src/main/java/org/apache/james/modules/rabbitmq/RabbitMQModule.java
+++ b/server/container/guice/rabbitmq/src/main/java/org/apache/james/modules/rabbitmq/RabbitMQModule.java
@@ -19,7 +19,6 @@
package org.apache.james.modules.rabbitmq;
import java.io.FileNotFoundException;
-import java.util.concurrent.ThreadLocalRandom;
import javax.inject.Named;
import javax.inject.Singleton;
@@ -62,8 +61,6 @@ public class RabbitMQModule extends AbstractModule {
@Override
protected void configure() {
- bind(ThreadLocalRandom.class).toInstance(ThreadLocalRandom.current());
-
bind(EnqueuedMailsDAO.class).in(Scopes.SINGLETON);
bind(DeletedMailsDAO.class).in(Scopes.SINGLETON);
bind(BrowseStartDAO.class).in(Scopes.SINGLETON);
diff --git a/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/view/cassandra/CassandraMailQueueMailDelete.java b/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/view/cassandra/CassandraMailQueueMailDelete.java
index 723f702..168cc6c 100644
--- a/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/view/cassandra/CassandraMailQueueMailDelete.java
+++ b/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/view/cassandra/CassandraMailQueueMailDelete.java
@@ -37,19 +37,16 @@ public class CassandraMailQueueMailDelete {
private final BrowseStartDAO browseStartDao;
private final CassandraMailQueueBrowser cassandraMailQueueBrowser;
private final CassandraMailQueueViewConfiguration configuration;
- private final ThreadLocalRandom random;
@Inject
CassandraMailQueueMailDelete(DeletedMailsDAO deletedMailsDao,
BrowseStartDAO browseStartDao,
CassandraMailQueueBrowser cassandraMailQueueBrowser,
- CassandraMailQueueViewConfiguration configuration,
- ThreadLocalRandom random) {
+ CassandraMailQueueViewConfiguration configuration) {
this.deletedMailsDao = deletedMailsDao;
this.browseStartDao = browseStartDao;
this.cassandraMailQueueBrowser = cassandraMailQueueBrowser;
this.configuration = configuration;
- this.random = random;
}
Mono<Void> considerDeleted(Mail mail, MailQueueName mailQueueName) {
@@ -90,6 +87,6 @@ public class CassandraMailQueueMailDelete {
private boolean shouldUpdateBrowseStart() {
int threshold = configuration.getUpdateBrowseStartPace();
- return Math.abs(random.nextInt()) % threshold == 0;
+ return Math.abs(ThreadLocalRandom.current().nextInt()) % threshold == 0;
}
}
diff --git a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueConfigurationChangeTest.java b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueConfigurationChangeTest.java
index cf5eb7b..c1855b1 100644
--- a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueConfigurationChangeTest.java
+++ b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueConfigurationChangeTest.java
@@ -27,7 +27,6 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
import java.time.Duration;
import java.time.Instant;
-import java.util.concurrent.ThreadLocalRandom;
import java.util.function.Function;
import java.util.stream.IntStream;
import java.util.stream.Stream;
@@ -90,7 +89,6 @@ class RabbitMQMailQueueConfigurationChangeTest {
private UpdatableTickingClock clock;
private RabbitMQMailQueueManagement mqManagementApi;
private RabbitClient rabbitClient;
- private ThreadLocalRandom random;
private MimeMessageStore.Factory mimeMessageStoreFactory;
@BeforeEach
@@ -98,8 +96,6 @@ class RabbitMQMailQueueConfigurationChangeTest {
CassandraBlobsDAO blobsDAO = new CassandraBlobsDAO(cassandra.getConf(), CassandraConfiguration.DEFAULT_CONFIGURATION, BLOB_ID_FACTORY);
mimeMessageStoreFactory = MimeMessageStore.factory(blobsDAO);
clock = new UpdatableTickingClock(IN_SLICE_1);
- random = ThreadLocalRandom.current();
-
rabbitClient = new RabbitClient(rabbitMQExtension.getRabbitChannelPool());
mqManagementApi = new RabbitMQMailQueueManagement(rabbitMQExtension.managementAPI());
}
@@ -110,7 +106,7 @@ class RabbitMQMailQueueConfigurationChangeTest {
}
private RabbitMQMailQueue getRabbitMQMailQueue(CassandraCluster cassandra, CassandraMailQueueViewConfiguration mailQueueViewConfiguration) throws Exception {
- CassandraMailQueueView.Factory mailQueueViewFactory = CassandraMailQueueViewTestFactory.factory(clock, random,
+ CassandraMailQueueView.Factory mailQueueViewFactory = CassandraMailQueueViewTestFactory.factory(clock,
cassandra.getConf(),
cassandra.getTypesProvider(),
mailQueueViewConfiguration,
diff --git a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueTest.java b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueTest.java
index ec9e18b..65a6f20 100644
--- a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueTest.java
+++ b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueTest.java
@@ -26,7 +26,6 @@ import static org.assertj.core.api.Assertions.assertThatCode;
import java.time.Duration;
import java.time.Instant;
-import java.util.concurrent.ThreadLocalRandom;
import java.util.function.Function;
import java.util.stream.IntStream;
import java.util.stream.Stream;
@@ -105,9 +104,8 @@ public class RabbitMQMailQueueTest implements ManageableMailQueueContract, MailQ
CassandraBlobsDAO blobsDAO = new CassandraBlobsDAO(cassandra.getConf(), CassandraConfiguration.DEFAULT_CONFIGURATION, BLOB_ID_FACTORY);
MimeMessageStore.Factory mimeMessageStoreFactory = MimeMessageStore.factory(blobsDAO);
clock = new UpdatableTickingClock(IN_SLICE_1);
- ThreadLocalRandom random = ThreadLocalRandom.current();
- MailQueueView.Factory mailQueueViewFactory = CassandraMailQueueViewTestFactory.factory(clock, random, cassandra.getConf(), cassandra.getTypesProvider(),
+ MailQueueView.Factory mailQueueViewFactory = CassandraMailQueueViewTestFactory.factory(clock, cassandra.getConf(), cassandra.getTypesProvider(),
CassandraMailQueueViewConfiguration.builder()
.bucketCount(THREE_BUCKET_COUNT)
.updateBrowseStartPace(UPDATE_BROWSE_START_PACE)
diff --git a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/view/cassandra/CassandraMailQueueViewTestFactory.java b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/view/cassandra/CassandraMailQueueViewTestFactory.java
index f91b346..9240be2 100644
--- a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/view/cassandra/CassandraMailQueueViewTestFactory.java
+++ b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/view/cassandra/CassandraMailQueueViewTestFactory.java
@@ -21,7 +21,6 @@ package org.apache.james.queue.rabbitmq.view.cassandra;
import java.time.Clock;
import java.util.Optional;
-import java.util.concurrent.ThreadLocalRandom;
import org.apache.james.backends.cassandra.init.CassandraTypesProvider;
import org.apache.james.blob.api.HashBlobId;
@@ -41,7 +40,7 @@ import reactor.core.publisher.Mono;
public class CassandraMailQueueViewTestFactory {
- public static CassandraMailQueueView.Factory factory(Clock clock, ThreadLocalRandom random, Session session,
+ public static CassandraMailQueueView.Factory factory(Clock clock, Session session,
CassandraTypesProvider typesProvider,
CassandraMailQueueViewConfiguration configuration,
MimeMessageStore.Factory mimeMessageStoreFactory) {
@@ -53,7 +52,7 @@ public class CassandraMailQueueViewTestFactory {
CassandraMailQueueBrowser cassandraMailQueueBrowser = new CassandraMailQueueBrowser(browseStartDao, deletedMailsDao, enqueuedMailsDao, mimeMessageStoreFactory, configuration, clock);
CassandraMailQueueMailStore cassandraMailQueueMailStore = new CassandraMailQueueMailStore(enqueuedMailsDao, browseStartDao, configuration, clock);
- CassandraMailQueueMailDelete cassandraMailQueueMailDelete = new CassandraMailQueueMailDelete(deletedMailsDao, browseStartDao, cassandraMailQueueBrowser, configuration, random);
+ CassandraMailQueueMailDelete cassandraMailQueueMailDelete = new CassandraMailQueueMailDelete(deletedMailsDao, browseStartDao, cassandraMailQueueBrowser, configuration);
EventsourcingConfigurationManagement eventsourcingConfigurationManagement = new EventsourcingConfigurationManagement(new CassandraEventStore(new EventStoreDao(session,
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org