JAMES-2589 container creation must happen in all swift modules _and_ synchronously
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/f1153223 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/f1153223 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/f1153223 Branch: refs/heads/master Commit: f115322320430dad6586867573303d5fb741d5b0 Parents: 4ac06de Author: Matthieu Baechler <matth...@apache.org> Authored: Thu Nov 15 15:39:45 2018 +0100 Committer: Benoit Tellier <btell...@linagora.com> Committed: Fri Nov 16 09:44:52 2018 +0700 ---------------------------------------------------------------------- .../modules/objectstorage/ObjectStorageBlobStoreModule.java | 9 +-------- .../objectstorage/ObjectStorageDependenciesModule.java | 9 +++++++-- 2 files changed, 8 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/f1153223/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageBlobStoreModule.java ---------------------------------------------------------------------- diff --git a/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageBlobStoreModule.java b/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageBlobStoreModule.java index 4c020f8..be0ff04 100644 --- a/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageBlobStoreModule.java +++ b/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageBlobStoreModule.java @@ -23,20 +23,13 @@ import org.apache.james.blob.api.BlobStore; import org.apache.james.blob.objectstorage.ObjectStorageBlobsDAO; import com.google.inject.AbstractModule; -import com.google.inject.Provides; -import com.google.inject.Singleton; public class ObjectStorageBlobStoreModule extends AbstractModule { @Override protected void configure() { install(new ObjectStorageDependenciesModule()); + bind(BlobStore.class).to(ObjectStorageBlobsDAO.class); } - @Provides - @Singleton - private BlobStore provideBlobStore(ObjectStorageBlobsDAO dao, ObjectStorageBlobConfiguration configuration) { - dao.createContainer(configuration.getNamespace()); - return dao; - } } http://git-wip-us.apache.org/repos/asf/james-project/blob/f1153223/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageDependenciesModule.java ---------------------------------------------------------------------- diff --git a/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageDependenciesModule.java b/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageDependenciesModule.java index ce13f7a..0c975f2 100644 --- a/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageDependenciesModule.java +++ b/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageDependenciesModule.java @@ -20,6 +20,9 @@ package org.apache.james.modules.objectstorage; import java.io.FileNotFoundException; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; import javax.inject.Singleton; @@ -68,11 +71,13 @@ public class ObjectStorageDependenciesModule extends AbstractModule { @Provides @Singleton - private ObjectStorageBlobsDAO buildObjectStore(ObjectStorageBlobConfiguration configuration, BlobId.Factory blobIdFactory) { - return selectDaoBuilder(configuration) + private ObjectStorageBlobsDAO buildObjectStore(ObjectStorageBlobConfiguration configuration, BlobId.Factory blobIdFactory) throws InterruptedException, ExecutionException, TimeoutException { + ObjectStorageBlobsDAO dao = selectDaoBuilder(configuration) .container(configuration.getNamespace()) .blobIdFactory(blobIdFactory) .build(); + dao.createContainer(configuration.getNamespace()).get(1, TimeUnit.MINUTES); + return dao; } private ObjectStorageBlobsDAOBuilder.RequireContainerName selectDaoBuilder(ObjectStorageBlobConfiguration configuration) { --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org