This is an automated email from the ASF dual-hosted git repository. rcordier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 3d9548650fa6a97a7d49afc0f0ae88dfaf22e748 Author: Maksim Meliashchuk <maksym...@gmail.com> AuthorDate: Wed Sep 27 22:01:53 2023 +0300 JAMES-2156 moved JPAConfiguration to backends/jpa --- backends-common/jpa/pom.xml | 4 ++ .../james/backends/jpa}/JPAConfiguration.java | 52 +++++++++++----------- .../james/backends/jpa}/JPAConfigurationTest.java | 2 +- mailbox/jpa/pom.xml | 22 --------- .../jpa/JPAMailboxSessionMapperFactory.java | 2 +- .../james/mailbox/jpa/mail/JPAMessageMapper.java | 2 +- .../mailbox/jpa/mail/model/JPAAttachment.java | 2 +- .../main/resources/META-INF/spring/mailbox-jpa.xml | 2 +- .../src/main/resources/james-database.properties | 5 +++ .../mailbox/jpa/JPASubscriptionManagerTest.java | 2 +- .../mailbox/jpa/JpaMailboxManagerProvider.java | 2 +- .../james/mailbox/jpa/mail/JPAMapperProvider.java | 2 +- .../task/JPARecomputeCurrentQuotasServiceTest.java | 2 +- .../mpt/imapmailbox/jpa/host/JPAHostSystem.java | 2 +- .../james-database-mariadb.properties | 2 +- .../sample-configuration/james-database.properties | 2 +- .../james-database-mariadb.properties | 2 +- .../sample-configuration/james-database.properties | 2 +- .../mariadb/TestJPAMariaDBConfigurationModule.java | 2 +- .../src/main/resources/james-database.properties | 2 +- .../james/modules/data/JPAEntityManagerModule.java | 1 + .../apache/james/TestJPAConfigurationModule.java | 2 +- ...estJPAConfigurationModuleWithSqlValidation.java | 2 +- src/site/xdoc/server/config-system.xml | 6 +-- 24 files changed, 57 insertions(+), 69 deletions(-) diff --git a/backends-common/jpa/pom.xml b/backends-common/jpa/pom.xml index 230c63f0b8..c4a019dacb 100644 --- a/backends-common/jpa/pom.xml +++ b/backends-common/jpa/pom.xml @@ -43,6 +43,10 @@ <artifactId>commons-dbcp2</artifactId> <version>2.9.0</version> </dependency> + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-lang3</artifactId> + </dependency> <dependency> <groupId>org.apache.derby</groupId> <artifactId>derby</artifactId> diff --git a/server/container/guice/jpa-common/src/main/java/org/apache/james/modules/data/JPAConfiguration.java b/backends-common/jpa/src/main/java/org/apache/james/backends/jpa/JPAConfiguration.java similarity index 86% rename from server/container/guice/jpa-common/src/main/java/org/apache/james/modules/data/JPAConfiguration.java rename to backends-common/jpa/src/main/java/org/apache/james/backends/jpa/JPAConfiguration.java index 6870e64fad..27a2d4970e 100644 --- a/server/container/guice/jpa-common/src/main/java/org/apache/james/modules/data/JPAConfiguration.java +++ b/backends-common/jpa/src/main/java/org/apache/james/backends/jpa/JPAConfiguration.java @@ -16,17 +16,17 @@ * specific language governing permissions and limitations * * under the License. * ****************************************************************/ -package org.apache.james.modules.data; - -import static org.apache.james.modules.data.JPAConfiguration.Credential.NO_CREDENTIAL; -import static org.apache.james.modules.data.JPAConfiguration.ReadyToBuild.CUSTOM_DATASOURCE_PROPERTIES; -import static org.apache.james.modules.data.JPAConfiguration.ReadyToBuild.CUSTOM_OPENJPA_PROPERTIES; -import static org.apache.james.modules.data.JPAConfiguration.ReadyToBuild.NO_ATTACHMENT_STORAGE; -import static org.apache.james.modules.data.JPAConfiguration.ReadyToBuild.NO_MAX_CONNECTIONS; -import static org.apache.james.modules.data.JPAConfiguration.ReadyToBuild.NO_MULTITHREADED; -import static org.apache.james.modules.data.JPAConfiguration.ReadyToBuild.NO_TEST_ON_BORROW; -import static org.apache.james.modules.data.JPAConfiguration.ReadyToBuild.NO_VALIDATION_QUERY; -import static org.apache.james.modules.data.JPAConfiguration.ReadyToBuild.NO_VALIDATION_QUERY_TIMEOUT_SEC; +package org.apache.james.backends.jpa; + +import static org.apache.james.backends.jpa.JPAConfiguration.Credential.NO_CREDENTIAL; +import static org.apache.james.backends.jpa.JPAConfiguration.ReadyToBuild.CUSTOM_DATASOURCE_PROPERTIES; +import static org.apache.james.backends.jpa.JPAConfiguration.ReadyToBuild.CUSTOM_OPENJPA_PROPERTIES; +import static org.apache.james.backends.jpa.JPAConfiguration.ReadyToBuild.NO_ATTACHMENT_STORAGE; +import static org.apache.james.backends.jpa.JPAConfiguration.ReadyToBuild.NO_MAX_CONNECTIONS; +import static org.apache.james.backends.jpa.JPAConfiguration.ReadyToBuild.NO_MULTITHREADED; +import static org.apache.james.backends.jpa.JPAConfiguration.ReadyToBuild.NO_TEST_ON_BORROW; +import static org.apache.james.backends.jpa.JPAConfiguration.ReadyToBuild.NO_VALIDATION_QUERY; +import static org.apache.james.backends.jpa.JPAConfiguration.ReadyToBuild.NO_VALIDATION_QUERY_TIMEOUT_SEC; import java.util.HashMap; import java.util.List; @@ -41,21 +41,21 @@ import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Preconditions; public class JPAConfiguration { - static final String JPA_CONNECTION_DRIVER_NAME = "openjpa.ConnectionDriverName"; - static final String JPA_CONNECTION_USERNAME = "openjpa.ConnectionUserName"; - static final String JPA_CONNECTION_PASSWORD = "openjpa.ConnectionPassword"; - static final String JPA_CONNECTION_PROPERTIES = "openjpa.ConnectionProperties"; - static final String JPA_CONNECTION_URL = "openjpa.ConnectionURL"; - static final String JPA_MULTITHREADED = "openjpa.Multithreaded"; - static List<String> DEFAULT_JPA_PROPERTIES = List.of(JPA_CONNECTION_DRIVER_NAME, JPA_CONNECTION_URL, JPA_MULTITHREADED, JPA_CONNECTION_USERNAME, JPA_CONNECTION_PASSWORD); - - static final String DATASOURCE_TEST_ON_BORROW = "datasource.testOnBorrow"; - static final String DATASOURCE_VALIDATION_QUERY_TIMEOUT_SEC = "datasource.validationQueryTimeoutSec"; - static final String DATASOURCE_VALIDATION_QUERY = "datasource.validationQuery"; - static final String DATASOURCE_MAX_TOTAL = "datasource.maxTotal"; - static List<String> DEFAULT_DATASOURCE_PROPERTIES = List.of(DATASOURCE_TEST_ON_BORROW, DATASOURCE_VALIDATION_QUERY_TIMEOUT_SEC, DATASOURCE_VALIDATION_QUERY, DATASOURCE_MAX_TOTAL); - - static final String ATTACHMENT_STORAGE = "attachmentStorage.enabled"; + public static final String JPA_CONNECTION_DRIVER_NAME = "openjpa.ConnectionDriverName"; + public static final String JPA_CONNECTION_USERNAME = "openjpa.ConnectionUserName"; + public static final String JPA_CONNECTION_PASSWORD = "openjpa.ConnectionPassword"; + public static final String JPA_CONNECTION_PROPERTIES = "openjpa.ConnectionProperties"; + public static final String JPA_CONNECTION_URL = "openjpa.ConnectionURL"; + public static final String JPA_MULTITHREADED = "openjpa.Multithreaded"; + public static final List<String> DEFAULT_JPA_PROPERTIES = List.of(JPA_CONNECTION_DRIVER_NAME, JPA_CONNECTION_URL, JPA_MULTITHREADED, JPA_CONNECTION_USERNAME, JPA_CONNECTION_PASSWORD); + + public static final String DATASOURCE_TEST_ON_BORROW = "datasource.testOnBorrow"; + public static final String DATASOURCE_VALIDATION_QUERY_TIMEOUT_SEC = "datasource.validationQueryTimeoutSec"; + public static final String DATASOURCE_VALIDATION_QUERY = "datasource.validationQuery"; + public static final String DATASOURCE_MAX_TOTAL = "datasource.maxTotal"; + public static final List<String> DEFAULT_DATASOURCE_PROPERTIES = List.of(DATASOURCE_TEST_ON_BORROW, DATASOURCE_VALIDATION_QUERY_TIMEOUT_SEC, DATASOURCE_VALIDATION_QUERY, DATASOURCE_MAX_TOTAL); + + public static final String ATTACHMENT_STORAGE = "attachmentStorage.enabled"; static { } diff --git a/server/container/guice/jpa-common/src/test/java/org/apache/james/modules/data/JPAConfigurationTest.java b/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JPAConfigurationTest.java similarity index 99% rename from server/container/guice/jpa-common/src/test/java/org/apache/james/modules/data/JPAConfigurationTest.java rename to backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JPAConfigurationTest.java index 6758163475..2021c86e5d 100644 --- a/server/container/guice/jpa-common/src/test/java/org/apache/james/modules/data/JPAConfigurationTest.java +++ b/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JPAConfigurationTest.java @@ -17,7 +17,7 @@ * under the License. * ****************************************************************/ -package org.apache.james.modules.data; +package org.apache.james.backends.jpa; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; diff --git a/mailbox/jpa/pom.xml b/mailbox/jpa/pom.xml index 209bbdd037..b3020ba999 100644 --- a/mailbox/jpa/pom.xml +++ b/mailbox/jpa/pom.xml @@ -31,18 +31,6 @@ <packaging>jar</packaging> <name>Apache James :: Mailbox :: JPA</name> - <dependencyManagement> - <dependencies> - <dependency> - <groupId>${james.groupId}</groupId> - <artifactId>james-server-guice</artifactId> - <version>${project.version}</version> - <type>pom</type> - <scope>import</scope> - </dependency> - </dependencies> - </dependencyManagement> - <dependencies> <dependency> <groupId>${james.groupId}</groupId> @@ -101,16 +89,6 @@ <artifactId>james-server-data-jpa</artifactId> <scope>test</scope> </dependency> - <dependency> - <groupId>${james.groupId}</groupId> - <artifactId>james-server-jpa-common-guice</artifactId> - <type>test-jar</type> - <scope>test</scope> - </dependency> - <dependency> - <groupId>${james.groupId}</groupId> - <artifactId>james-server-jpa-common-guice</artifactId> - </dependency> <dependency> <groupId>${james.groupId}</groupId> <artifactId>james-server-testing</artifactId> diff --git a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMailboxSessionMapperFactory.java b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMailboxSessionMapperFactory.java index 96612081f1..670651b13f 100644 --- a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMailboxSessionMapperFactory.java +++ b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMailboxSessionMapperFactory.java @@ -24,6 +24,7 @@ import javax.persistence.EntityManagerFactory; import org.apache.commons.lang3.NotImplementedException; import org.apache.james.backends.jpa.EntityManagerUtils; +import org.apache.james.backends.jpa.JPAConfiguration; import org.apache.james.mailbox.MailboxSession; import org.apache.james.mailbox.jpa.mail.JPAAnnotationMapper; import org.apache.james.mailbox.jpa.mail.JPAAttachmentMapper; @@ -42,7 +43,6 @@ import org.apache.james.mailbox.store.mail.MessageMapper; import org.apache.james.mailbox.store.mail.ModSeqProvider; import org.apache.james.mailbox.store.mail.UidProvider; import org.apache.james.mailbox.store.user.SubscriptionMapper; -import org.apache.james.modules.data.JPAConfiguration; /** * JPA implementation of {@link MailboxSessionMapperFactory} diff --git a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java index a0c0ef3a4b..b4e7de4327 100644 --- a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java +++ b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java @@ -31,6 +31,7 @@ import javax.persistence.EntityManagerFactory; import javax.persistence.PersistenceException; import javax.persistence.Query; +import org.apache.james.backends.jpa.JPAConfiguration; import org.apache.james.mailbox.ApplicableFlagBuilder; import org.apache.james.mailbox.MessageUid; import org.apache.james.mailbox.ModSeq; @@ -56,7 +57,6 @@ import org.apache.james.mailbox.model.UpdatedFlags; import org.apache.james.mailbox.store.FlagsUpdateCalculator; import org.apache.james.mailbox.store.mail.MessageMapper; import org.apache.james.mailbox.store.mail.model.MailboxMessage; -import org.apache.james.modules.data.JPAConfiguration; import org.apache.openjpa.persistence.ArgumentException; import com.github.fge.lambdas.Throwing; diff --git a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAAttachment.java b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAAttachment.java index 1e4ab8098c..60e3e9ad4b 100644 --- a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAAttachment.java +++ b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAAttachment.java @@ -63,7 +63,7 @@ public class JPAAttachment { private long size; @Basic(optional = false, fetch = FetchType.LAZY) - @Column(name = "CONTENT", nullable = false) + @Column(name = "CONTENT", length = 1048576000, nullable = false) @Lob private byte[] content; diff --git a/mailbox/jpa/src/main/resources/META-INF/spring/mailbox-jpa.xml b/mailbox/jpa/src/main/resources/META-INF/spring/mailbox-jpa.xml index 16a268cf98..30b9d4a6a9 100644 --- a/mailbox/jpa/src/main/resources/META-INF/spring/mailbox-jpa.xml +++ b/mailbox/jpa/src/main/resources/META-INF/spring/mailbox-jpa.xml @@ -105,5 +105,5 @@ <bean id="jpaCurrentQuotaManager" class="org.apache.james.mailbox.jpa.quota.JpaCurrentQuotaManager"> <constructor-arg index="0" ref="entityManagerFactory"/> </bean> - <bean id="jpa-configuration" class="org.apache.james.modules.data.JPAConfiguration"/> + <bean id="jpa-configuration" class="org.apache.james.backends.jpa.JPAConfiguration"/> </beans> diff --git a/mailbox/jpa/src/main/resources/james-database.properties b/mailbox/jpa/src/main/resources/james-database.properties index 22770d00d2..852f8f2989 100644 --- a/mailbox/jpa/src/main/resources/james-database.properties +++ b/mailbox/jpa/src/main/resources/james-database.properties @@ -44,3 +44,8 @@ openjpa.streaming=false # datasource.validationQueryTimeoutSec=2 # This is different per database. See https://stackoverflow.com/questions/10684244/dbcp-validationquery-for-different-databases#10684260 # datasource.validationQuery=select 1 + +# Attachment storage +# *WARNING*: Is not made to store large binary content (no more than 1 GB of data) +# Optional, Allowed values are: true, false, defaults to false +# attachmentStorage.enabled=false \ No newline at end of file diff --git a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JPASubscriptionManagerTest.java b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JPASubscriptionManagerTest.java index 6f4510e852..fdc777d31f 100644 --- a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JPASubscriptionManagerTest.java +++ b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JPASubscriptionManagerTest.java @@ -20,6 +20,7 @@ package org.apache.james.mailbox.jpa; import javax.persistence.EntityManagerFactory; +import org.apache.james.backends.jpa.JPAConfiguration; import org.apache.james.backends.jpa.JpaTestCluster; import org.apache.james.events.EventBusTestFixture; import org.apache.james.events.InVMEventBus; @@ -31,7 +32,6 @@ import org.apache.james.mailbox.jpa.mail.JPAModSeqProvider; import org.apache.james.mailbox.jpa.mail.JPAUidProvider; import org.apache.james.mailbox.store.StoreSubscriptionManager; import org.apache.james.metrics.tests.RecordingMetricFactory; -import org.apache.james.modules.data.JPAConfiguration; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; diff --git a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JpaMailboxManagerProvider.java b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JpaMailboxManagerProvider.java index afe26b1119..770f17dd7e 100644 --- a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JpaMailboxManagerProvider.java +++ b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JpaMailboxManagerProvider.java @@ -23,6 +23,7 @@ import java.time.Instant; import javax.persistence.EntityManagerFactory; +import org.apache.james.backends.jpa.JPAConfiguration; import org.apache.james.backends.jpa.JpaTestCluster; import org.apache.james.events.EventBusTestFixture; import org.apache.james.events.InVMEventBus; @@ -46,7 +47,6 @@ import org.apache.james.mailbox.store.quota.QuotaComponents; import org.apache.james.mailbox.store.search.MessageSearchIndex; import org.apache.james.mailbox.store.search.SimpleMessageSearchIndex; import org.apache.james.metrics.tests.RecordingMetricFactory; -import org.apache.james.modules.data.JPAConfiguration; import org.apache.james.utils.UpdatableTickingClock; public class JpaMailboxManagerProvider { 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 9388bd60c1..c5e054b3bd 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 @@ -25,6 +25,7 @@ import java.util.concurrent.ThreadLocalRandom; import javax.persistence.EntityManagerFactory; import org.apache.commons.lang3.NotImplementedException; +import org.apache.james.backends.jpa.JPAConfiguration; import org.apache.james.backends.jpa.JpaTestCluster; import org.apache.james.mailbox.MessageUid; import org.apache.james.mailbox.ModSeq; @@ -39,7 +40,6 @@ import org.apache.james.mailbox.store.mail.MessageIdMapper; import org.apache.james.mailbox.store.mail.MessageMapper; import org.apache.james.mailbox.store.mail.model.DefaultMessageId; import org.apache.james.mailbox.store.mail.model.MapperProvider; -import org.apache.james.modules.data.JPAConfiguration; import com.google.common.collect.ImmutableList; diff --git a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/task/JPARecomputeCurrentQuotasServiceTest.java b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/task/JPARecomputeCurrentQuotasServiceTest.java index f044028ac3..38fad55fac 100644 --- a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/task/JPARecomputeCurrentQuotasServiceTest.java +++ b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/task/JPARecomputeCurrentQuotasServiceTest.java @@ -22,6 +22,7 @@ package org.apache.james.mailbox.jpa.mail.task; import javax.persistence.EntityManagerFactory; import org.apache.commons.configuration2.BaseHierarchicalConfiguration; +import org.apache.james.backends.jpa.JPAConfiguration; import org.apache.james.backends.jpa.JpaTestCluster; import org.apache.james.domainlist.api.DomainList; import org.apache.james.domainlist.jpa.model.JPADomain; @@ -41,7 +42,6 @@ import org.apache.james.mailbox.quota.task.RecomputeMailboxCurrentQuotasService; import org.apache.james.mailbox.store.StoreMailboxManager; import org.apache.james.mailbox.store.quota.CurrentQuotaCalculator; import org.apache.james.mailbox.store.quota.DefaultUserQuotaRootResolver; -import org.apache.james.modules.data.JPAConfiguration; import org.apache.james.user.api.UsersRepository; import org.apache.james.user.jpa.JPAUsersRepository; import org.apache.james.user.jpa.model.JPAUser; diff --git a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java index 5c40f0db23..71aab4ca1a 100644 --- a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java +++ b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java @@ -23,6 +23,7 @@ import java.time.Instant; import javax.persistence.EntityManagerFactory; +import org.apache.james.backends.jpa.JPAConfiguration; import org.apache.james.backends.jpa.JpaTestCluster; import org.apache.james.core.quota.QuotaCountLimit; import org.apache.james.core.quota.QuotaSizeLimit; @@ -64,7 +65,6 @@ import org.apache.james.mailbox.store.search.MessageSearchIndex; import org.apache.james.mailbox.store.search.SimpleMessageSearchIndex; import org.apache.james.metrics.logger.DefaultMetricFactory; import org.apache.james.metrics.tests.RecordingMetricFactory; -import org.apache.james.modules.data.JPAConfiguration; import org.apache.james.mpt.api.ImapFeatures; import org.apache.james.mpt.api.ImapFeatures.Feature; import org.apache.james.mpt.host.JamesImapHostSystem; diff --git a/server/apps/jpa-app/sample-configuration/james-database-mariadb.properties b/server/apps/jpa-app/sample-configuration/james-database-mariadb.properties index 52ca423635..9b5afa0be2 100644 --- a/server/apps/jpa-app/sample-configuration/james-database-mariadb.properties +++ b/server/apps/jpa-app/sample-configuration/james-database-mariadb.properties @@ -44,6 +44,6 @@ openjpa.streaming=false # datasource.maxTotal=8 # Attachment storage -# *WARNING*: Is not made to store large binary content +# *WARNING*: Is not made to store large binary content (no more than 1 GB of data) # Optional, Allowed values are: true, false, defaults to false # attachmentStorage.enabled=false diff --git a/server/apps/jpa-app/sample-configuration/james-database.properties b/server/apps/jpa-app/sample-configuration/james-database.properties index 1336fe5a1c..6aecddbbdd 100644 --- a/server/apps/jpa-app/sample-configuration/james-database.properties +++ b/server/apps/jpa-app/sample-configuration/james-database.properties @@ -48,6 +48,6 @@ openjpa.streaming=false # datasource.maxTotal=8 # Attachment storage -# *WARNING*: Is not made to store large binary content +# *WARNING*: Is not made to store large binary content (no more than 1 GB of data) # Optional, Allowed values are: true, false, defaults to false # attachmentStorage.enabled=false diff --git a/server/apps/jpa-smtp-app/sample-configuration/james-database-mariadb.properties b/server/apps/jpa-smtp-app/sample-configuration/james-database-mariadb.properties index 52ca423635..9b5afa0be2 100644 --- a/server/apps/jpa-smtp-app/sample-configuration/james-database-mariadb.properties +++ b/server/apps/jpa-smtp-app/sample-configuration/james-database-mariadb.properties @@ -44,6 +44,6 @@ openjpa.streaming=false # datasource.maxTotal=8 # Attachment storage -# *WARNING*: Is not made to store large binary content +# *WARNING*: Is not made to store large binary content (no more than 1 GB of data) # Optional, Allowed values are: true, false, defaults to false # attachmentStorage.enabled=false diff --git a/server/apps/jpa-smtp-app/sample-configuration/james-database.properties b/server/apps/jpa-smtp-app/sample-configuration/james-database.properties index 1336fe5a1c..6aecddbbdd 100644 --- a/server/apps/jpa-smtp-app/sample-configuration/james-database.properties +++ b/server/apps/jpa-smtp-app/sample-configuration/james-database.properties @@ -48,6 +48,6 @@ openjpa.streaming=false # datasource.maxTotal=8 # Attachment storage -# *WARNING*: Is not made to store large binary content +# *WARNING*: Is not made to store large binary content (no more than 1 GB of data) # Optional, Allowed values are: true, false, defaults to false # attachmentStorage.enabled=false diff --git a/server/apps/jpa-smtp-app/src/test/java/org/apache/james/mariadb/TestJPAMariaDBConfigurationModule.java b/server/apps/jpa-smtp-app/src/test/java/org/apache/james/mariadb/TestJPAMariaDBConfigurationModule.java index bc7d7a7503..22491585a2 100644 --- a/server/apps/jpa-smtp-app/src/test/java/org/apache/james/mariadb/TestJPAMariaDBConfigurationModule.java +++ b/server/apps/jpa-smtp-app/src/test/java/org/apache/james/mariadb/TestJPAMariaDBConfigurationModule.java @@ -21,7 +21,7 @@ package org.apache.james.mariadb; import javax.inject.Singleton; -import org.apache.james.modules.data.JPAConfiguration; +import org.apache.james.backends.jpa.JPAConfiguration; import com.google.inject.AbstractModule; import com.google.inject.Provides; diff --git a/server/apps/spring-app/src/main/resources/james-database.properties b/server/apps/spring-app/src/main/resources/james-database.properties index 5dc74806b1..6d5ab15ca2 100644 --- a/server/apps/spring-app/src/main/resources/james-database.properties +++ b/server/apps/spring-app/src/main/resources/james-database.properties @@ -46,7 +46,7 @@ openjpa.streaming=false # datasource.validationQuery=select 1 # Attachment storage -# *WARNING*: Is not made to store large binary content +# *WARNING*: Is not made to store large binary content (no more than 1 GB of data) # Optional, Allowed values are: true, false, defaults to false # attachmentStorage.enabled=false diff --git a/server/container/guice/jpa-common/src/main/java/org/apache/james/modules/data/JPAEntityManagerModule.java b/server/container/guice/jpa-common/src/main/java/org/apache/james/modules/data/JPAEntityManagerModule.java index 758e3aa87e..19432d372c 100644 --- a/server/container/guice/jpa-common/src/main/java/org/apache/james/modules/data/JPAEntityManagerModule.java +++ b/server/container/guice/jpa-common/src/main/java/org/apache/james/modules/data/JPAEntityManagerModule.java @@ -32,6 +32,7 @@ import javax.persistence.Persistence; import org.apache.commons.configuration2.Configuration; import org.apache.commons.configuration2.ex.ConfigurationException; +import org.apache.james.backends.jpa.JPAConfiguration; import org.apache.james.utils.PropertiesProvider; import com.google.common.base.Joiner; diff --git a/server/container/guice/jpa-common/src/test/java/org/apache/james/TestJPAConfigurationModule.java b/server/container/guice/jpa-common/src/test/java/org/apache/james/TestJPAConfigurationModule.java index 3ba1c7bff9..957cddc27d 100644 --- a/server/container/guice/jpa-common/src/test/java/org/apache/james/TestJPAConfigurationModule.java +++ b/server/container/guice/jpa-common/src/test/java/org/apache/james/TestJPAConfigurationModule.java @@ -21,7 +21,7 @@ package org.apache.james; import javax.inject.Singleton; -import org.apache.james.modules.data.JPAConfiguration; +import org.apache.james.backends.jpa.JPAConfiguration; import com.google.inject.AbstractModule; import com.google.inject.Provides; diff --git a/server/container/guice/jpa-common/src/test/java/org/apache/james/TestJPAConfigurationModuleWithSqlValidation.java b/server/container/guice/jpa-common/src/test/java/org/apache/james/TestJPAConfigurationModuleWithSqlValidation.java index 9013fef579..1cf89b519b 100644 --- a/server/container/guice/jpa-common/src/test/java/org/apache/james/TestJPAConfigurationModuleWithSqlValidation.java +++ b/server/container/guice/jpa-common/src/test/java/org/apache/james/TestJPAConfigurationModuleWithSqlValidation.java @@ -26,7 +26,7 @@ import java.sql.SQLException; import javax.inject.Singleton; -import org.apache.james.modules.data.JPAConfiguration; +import org.apache.james.backends.jpa.JPAConfiguration; import com.google.inject.AbstractModule; import com.google.inject.Provides; diff --git a/src/site/xdoc/server/config-system.xml b/src/site/xdoc/server/config-system.xml index 3e33f17c0f..68db2898b7 100644 --- a/src/site/xdoc/server/config-system.xml +++ b/src/site/xdoc/server/config-system.xml @@ -86,7 +86,7 @@ <dd>Supported adapters are: DB2, DERBY, H2, HSQL, INFORMIX, MYSQL, ORACLE, POSTGRESQL, SQL_SERVER, SYBASE .</dd> <dt><strong>openjpa.streaming</strong></dt> <dd>true or false - Use streaming for Blobs. This is only supported on a limited set of databases atm. You - should check if its supported by your DB before enable it. See <a href="http://openjpa.apache.org/builds/latest/docs/manual/ref_guide_mapping_jpa.html">http://openjpa.apache.org/builds/latest/docs/manual/ref_guide_mapping_jpa.html</a> (#7.11. LOB Streaming).</dd> + should check if it's supported by your DB before enable it. See <a href="http://openjpa.apache.org/builds/latest/docs/manual/ref_guide_mapping_jpa.html">http://openjpa.apache.org/builds/latest/docs/manual/ref_guide_mapping_jpa.html</a> (#7.11. LOB Streaming).</dd> </dl> <p>NOTE: all<code>openjpa.*</code> properties will be passed to OpenJPA library as configuration See <a href="https://openjpa.apache.org/builds/3.2.2/apache-openjpa/docs/ref_guide_conf_openjpa.html">https://openjpa.apache.org/builds/3.2.2/apache-openjpa/docs/ref_guide_conf_openjpa.html</a> for a complete list </p> @@ -110,8 +110,8 @@ <p>Attachment storage configuration</p> <dl> <dt><strong>attachmentStorage.enabled</strong></dt> - <dd>(Guice only). The attachment storage configuration for JPA is used to enable the implementation of the attachment storage mechanism. - *WARNING*: this configuration is not designed to store large binary content, as it is not optimized for this purpose. + <dd>The attachment storage configuration for JPA is used to enable the implementation of the attachment storage mechanism. + *WARNING*: this configuration is not designed to store large binary content (no more than 1 GB of data), as it is not optimized for this purpose. Optional, Allowed values are: `true` or `false`, defaults to `false`</dd> </dl> </subsection> --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@james.apache.org For additional commands, e-mail: notifications-h...@james.apache.org