[jira] [Resolved] (JAMES-2058) Add new page on the website for Spring JPA configuration
[ https://issues.apache.org/jira/browse/JAMES-2058?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tellier Benoit resolved JAMES-2058. --- Resolution: Fixed https://github.com/linagora/james-project/pull/845/ solved the issue > Add new page on the website for Spring JPA configuration > > > Key: JAMES-2058 > URL: https://issues.apache.org/jira/browse/JAMES-2058 > Project: James Server > Issue Type: Improvement > Components: Documentation >Reporter: Quynh Nguyen > > As the James use Spring JPA and it use DERBY as the default database. > In case of using another sequence database with Spring JPA, it needs > somewhere to guide how to configure it -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org
[1/3] james-project git commit: JAMES-2063 Add tests on SelectedMailboxImpl for concurrent events
Repository: james-project Updated Branches: refs/heads/master ce408bf81 -> be37b9c0c JAMES-2063 Add tests on SelectedMailboxImpl for concurrent events Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/b74db024 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/b74db024 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/b74db024 Branch: refs/heads/master Commit: b74db024409fea9edeb84c571eb02e4863391ca6 Parents: ce408bf Author: benwaAuthored: Tue Jun 20 10:49:28 2017 +0700 Committer: benwa Committed: Tue Jun 20 11:47:24 2017 +0700 -- protocols/imap/pom.xml | 5 + .../processor/base/SelectedMailboxImplTest.java | 172 +++ 2 files changed, 177 insertions(+) -- http://git-wip-us.apache.org/repos/asf/james-project/blob/b74db024/protocols/imap/pom.xml -- diff --git a/protocols/imap/pom.xml b/protocols/imap/pom.xml index c2f590d..12b9826 100644 --- a/protocols/imap/pom.xml +++ b/protocols/imap/pom.xml @@ -75,6 +75,11 @@ org.slf4j slf4j-api + +org.slf4j +slf4j-simple +test + commons-codec http://git-wip-us.apache.org/repos/asf/james-project/blob/b74db024/protocols/imap/src/test/java/org/apache/james/imap/processor/base/SelectedMailboxImplTest.java -- diff --git a/protocols/imap/src/test/java/org/apache/james/imap/processor/base/SelectedMailboxImplTest.java b/protocols/imap/src/test/java/org/apache/james/imap/processor/base/SelectedMailboxImplTest.java new file mode 100644 index 000..a9e7144 --- /dev/null +++ b/protocols/imap/src/test/java/org/apache/james/imap/processor/base/SelectedMailboxImplTest.java @@ -0,0 +1,172 @@ +/ + * Licensed to the Apache Software Foundation (ASF) under one * + * or more contributor license agreements. See the NOTICE file * + * distributed with this work for additional information* + * regarding copyright ownership. The ASF licenses this file * + * to you under the Apache License, Version 2.0 (the* + * "License"); you may not use this file except in compliance * + * with the License. You may obtain a copy of the License at * + * * + * http://www.apache.org/licenses/LICENSE-2.0 * + * * + * Unless required by applicable law or agreed to in writing, * + * software distributed under the License is distributed on an * + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * + * KIND, either express or implied. See the License for the* + * specific language governing permissions and limitations * + * under the License. * + / + +package org.apache.james.imap.processor.base; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Matchers.any; +import static org.mockito.Matchers.eq; +import static org.mockito.Mockito.doAnswer; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import java.util.Date; +import java.util.Iterator; +import java.util.TreeMap; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.atomic.AtomicInteger; + +import javax.mail.Flags; + +import org.apache.james.imap.api.ImapSessionUtils; +import org.apache.james.imap.api.process.ImapSession; +import org.apache.james.mailbox.MailboxListener; +import org.apache.james.mailbox.MailboxManager; +import org.apache.james.mailbox.MailboxSession; +import org.apache.james.mailbox.MessageManager; +import org.apache.james.mailbox.MessageUid; +import org.apache.james.mailbox.model.MailboxConstants; +import org.apache.james.mailbox.model.MailboxPath; +import org.apache.james.mailbox.model.MessageMetaData; +import org.apache.james.mailbox.model.SearchQuery; +import org.apache.james.mailbox.store.SimpleMessageMetaData; +import org.apache.james.mailbox.store.event.EventFactory; +import org.apache.james.mailbox.store.mail.model.DefaultMessageId; +import org.apache.james.mailbox.store.mail.model.Mailbox; +import org.junit.After; +import org.junit.Before; +import org.junit.Ignore; +import org.junit.Test; +import org.mockito.invocation.InvocationOnMock; +import org.mockito.stubbing.Answer; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import
[3/3] james-project git commit: JAMES-2058 Add new page on the website to configure Spring JPA with Postgres
JAMES-2058 Add new page on the website to configure Spring JPA with Postgres Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/be37b9c0 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/be37b9c0 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/be37b9c0 Branch: refs/heads/master Commit: be37b9c0c1d6eb50df4ea06761b9b8013a7b6b0d Parents: 53d7536 Author: quynhnAuthored: Thu Jun 15 17:58:37 2017 +0700 Committer: benwa Committed: Wed Jun 21 14:59:04 2017 +0700 -- src/site/site.xml | 1 + .../xdoc/server/config-spring-jpa-postgres.xml | 109 +++ 2 files changed, 110 insertions(+) -- http://git-wip-us.apache.org/repos/asf/james-project/blob/be37b9c0/src/site/site.xml -- diff --git a/src/site/site.xml b/src/site/site.xml index b73abec..9b7fd05 100644 --- a/src/site/site.xml +++ b/src/site/site.xml @@ -134,6 +134,7 @@ + http://git-wip-us.apache.org/repos/asf/james-project/blob/be37b9c0/src/site/xdoc/server/config-spring-jpa-postgres.xml -- diff --git a/src/site/xdoc/server/config-spring-jpa-postgres.xml b/src/site/xdoc/server/config-spring-jpa-postgres.xml new file mode 100644 index 000..d88824a --- /dev/null +++ b/src/site/xdoc/server/config-spring-jpa-postgres.xml @@ -0,0 +1,109 @@ + + + + + + Apache James Server 3 - Spring JPA With Postgres Configuration + + + + + + + Consult http://james.apache.org/server/config-system.html;>System Configuration to get template, some examples and hints for the configuration with JPA. + + + + James supports Derby as a default database, you do not need to do any additional configuration if you are using Derby + + + + If you wish to use Postgres as a database, please follow those steps to configure it + + +You need to install Postgres or run Postgres with Docker + +Example to install it on Debian: + + sudo apt-get update && sudo apt-get install postgresql-9.4 postgresql-client-9.4 + +Example to pull and launch Postgres on docker + + docker run --detach --name postgres library/postgres + +Postgres does not create database on the fly so you need to create the database manually if it does not exist. Here is the command to perform this action: + +psql --username postgres --tuples-only --command "SELECT 1 FROM pg_database WHERE dataname = 'database_name'" \ + | grep -q 1 || psql --username postgres --command "CREATE DATABASE database_name" + + + database_name + The name of database + + + + + +Change the content of james-database.properties and point to the 'database_name' created earlier + + database.driverClassName=org.postgresql.Driver + database.url=jdbc:postgresql://ip_of_postgres/database_name + database.username=postgres + database.password=postgres + + vendorAdapter.database=POSTGRESQL + +If you are using the James Spring docker image. You need to customise the configuration file of the docker container with those steps: + +Create a new james-database.properties file with above content +Then you can add the configuration file to docker container using --volume flag + +--volume path_to_folder_which_contain_configuration_file/james-database.properties:/root/james-server-app-3.0.0-RC2-SNAPSHOT/conf/james-database.properties + + + + + +Follow this link https://jdbc.postgresql.org/download.html;>Postgres Driver to download the right version of the JDBC driver. +Copy that jar file to the conf/lib/ folder of Spring James +If you are using the James Spring docker image, download the jar file then make it available on the classpath of your James instance using an additional docker volume: + + --volume path_to_folder_which_contain_jar_file/:/root/james-server-app-3.0.0-RC2-SNAPSHOT/conf/lib/ + + + + +Follow the guide on http://james.apache.org/server/install.html;>Restart and Testing to restart James + +If you are using the James Spring docker image, launch James docker or just stop and start docker container again if it ran. + +Example to launch James Spring
[2/3] james-project git commit: JAMES-2063 SelectedMailboxImpl should allow concurrent events when initializing
JAMES-2063 SelectedMailboxImpl should allow concurrent events when initializing Also reduce lock contention. Avoid locking while building conversion and reading from the mailbox, to avoid delaying concurrent sessions. Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/53d75365 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/53d75365 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/53d75365 Branch: refs/heads/master Commit: 53d75365fc2de63c5c8ab7205b91f2695e8dccd5 Parents: b74db02 Author: benwaAuthored: Tue Jun 20 10:55:21 2017 +0700 Committer: benwa Committed: Wed Jun 21 14:58:20 2017 +0700 -- protocols/imap/pom.xml | 5 +- .../processor/base/SelectedMailboxImpl.java | 12 +- .../imap/processor/base/UidMsnConverter.java| 17 ++- .../processor/base/SelectedMailboxImplTest.java | 44 +++ .../processor/base/UidMsnConverterTest.java | 120 --- .../imap/src/test/resources/logback-test.xml| 24 6 files changed, 170 insertions(+), 52 deletions(-) -- http://git-wip-us.apache.org/repos/asf/james-project/blob/53d75365/protocols/imap/pom.xml -- diff --git a/protocols/imap/pom.xml b/protocols/imap/pom.xml index 12b9826..78ac115 100644 --- a/protocols/imap/pom.xml +++ b/protocols/imap/pom.xml @@ -76,8 +76,9 @@ slf4j-api -org.slf4j -slf4j-simple +ch.qos.logback +logback-classic +1.1.7 test http://git-wip-us.apache.org/repos/asf/james-project/blob/53d75365/protocols/imap/src/main/java/org/apache/james/imap/processor/base/SelectedMailboxImpl.java -- diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/base/SelectedMailboxImpl.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/base/SelectedMailboxImpl.java index d929b76..d56c6ef 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/processor/base/SelectedMailboxImpl.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/base/SelectedMailboxImpl.java @@ -44,6 +44,7 @@ import org.apache.james.mailbox.model.SearchQuery; import org.apache.james.mailbox.model.UpdatedFlags; import com.google.common.base.Optional; +import com.google.common.collect.ImmutableList; /** * Default implementation of {@link SelectedMailbox} @@ -84,17 +85,14 @@ public class SelectedMailboxImpl implements SelectedMailbox, MailboxListener{ MailboxSession mailboxSession = ImapSessionUtils.getMailboxSession(session); +uidMsnConverter = new UidMsnConverter(); + mailboxManager.addListener(path, this, mailboxSession); MessageManager messageManager = mailboxManager.getMailbox(path, mailboxSession); applicableFlags = messageManager.getApplicableFlags(mailboxSession); -uidMsnConverter = getUidMsnConverter(mailboxSession, messageManager); -} - -private UidMsnConverter getUidMsnConverter(MailboxSession mailboxSession , MessageManager messageManager) throws MailboxException { -return new UidMsnConverter( -messageManager.search( -new SearchQuery(SearchQuery.all()), mailboxSession)); +uidMsnConverter.addAll(ImmutableList.copyOf( +messageManager.search(new SearchQuery(SearchQuery.all()), mailboxSession))); } @Override http://git-wip-us.apache.org/repos/asf/james-project/blob/53d75365/protocols/imap/src/main/java/org/apache/james/imap/processor/base/UidMsnConverter.java -- diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/base/UidMsnConverter.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/base/UidMsnConverter.java index 9276e27..9e09053 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/processor/base/UidMsnConverter.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/base/UidMsnConverter.java @@ -21,7 +21,9 @@ package org.apache.james.imap.processor.base; import java.util.ArrayList; import java.util.Collections; -import java.util.Iterator; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.TreeSet; import org.apache.james.mailbox.MessageUid; @@ -35,9 +37,16 @@ public class UidMsnConverter { @VisibleForTesting final ArrayList uids; -public UidMsnConverter(Iterator iterator) { -uids = Lists.newArrayList(iterator); -Collections.sort(uids); +public
[jira] [Resolved] (JAMES-2063) NPE raised in SelectedMailboxImpl
[ https://issues.apache.org/jira/browse/JAMES-2063?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tellier Benoit resolved JAMES-2063. --- Resolution: Fixed https://github.com/linagora/james-project/pull/852 solved the issue > NPE raised in SelectedMailboxImpl > - > > Key: JAMES-2063 > URL: https://issues.apache.org/jira/browse/JAMES-2063 > Project: James Server > Issue Type: Bug > Components: IMAPServer >Affects Versions: master >Reporter: Tellier Benoit > Fix For: master > > > In the constructor, SelectedMailboxImpl is added as a listener before being > well initialized. > {code:java} > java.lang.NullPointerException: null > at > org.apache.james.imap.processor.base.SelectedMailboxImpl.event(SelectedMailboxImpl.java:322) > at > org.apache.james.mailbox.store.event.SynchronousEventDelivery.deliver(SynchronousEventDelivery.java:29) > at > org.apache.james.mailbox.store.event.DefaultDelegatingMailboxListener.deliverEventToMailboxListeners(DefaultDelegatingMailboxListener.java:102) > at > org.apache.james.mailbox.store.event.DefaultDelegatingMailboxListener.event(DefaultDelegatingMailboxListener.java:96) > at > org.apache.james.mailbox.store.event.MailboxEventDispatcher.added(MailboxEventDispatcher.java:73) > at > org.apache.james.mailbox.store.StoreMessageManager$6.execute(StoreMessageManager.java:663) > at > org.apache.james.mailbox.store.StoreMessageManager$6.execute(StoreMessageManager.java:658) > at > org.apache.james.mailbox.store.AbstractMailboxPathLocker.executeWithLock(AbstractMailboxPathLocker.java:38) > at > org.apache.james.mailbox.store.StoreMessageManager.moveTo(StoreMessageManager.java:658) > at > org.apache.james.mailbox.store.StoreMailboxManager$5.execute(StoreMailboxManager.java:682) > at > org.apache.james.mailbox.store.MessageBatcher.batchMessages(MessageBatcher.java:52) > at > org.apache.james.mailbox.store.StoreMailboxManager.moveMessages(StoreMailboxManager.java:680) > at > org.apache.james.imap.processor.MoveProcessor.process(MoveProcessor.java:53) > at > org.apache.james.imap.processor.AbstractMessageRangeProcessor.doProcess(AbstractMessageRangeProcessor.java:81) > at > org.apache.james.imap.processor.AbstractMessageRangeProcessor.doProcess(AbstractMessageRangeProcessor.java:45) > at > org.apache.james.imap.processor.AbstractMailboxProcessor.doProcess(AbstractMailboxProcessor.java:109) > at > org.apache.james.imap.processor.AbstractMailboxProcessor.process(AbstractMailboxProcessor.java:96) > at > org.apache.james.imap.processor.AbstractMailboxProcessor.doProcess(AbstractMailboxProcessor.java:88) > at > org.apache.james.imap.processor.AbstractMailboxProcessor.doProcess(AbstractMailboxProcessor.java:71) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:54) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at >
[jira] [Closed] (JAMES-2063) NPE raised in SelectedMailboxImpl
[ https://issues.apache.org/jira/browse/JAMES-2063?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tellier Benoit closed JAMES-2063. - > NPE raised in SelectedMailboxImpl > - > > Key: JAMES-2063 > URL: https://issues.apache.org/jira/browse/JAMES-2063 > Project: James Server > Issue Type: Bug > Components: IMAPServer >Affects Versions: master >Reporter: Tellier Benoit > Fix For: master > > > In the constructor, SelectedMailboxImpl is added as a listener before being > well initialized. > {code:java} > java.lang.NullPointerException: null > at > org.apache.james.imap.processor.base.SelectedMailboxImpl.event(SelectedMailboxImpl.java:322) > at > org.apache.james.mailbox.store.event.SynchronousEventDelivery.deliver(SynchronousEventDelivery.java:29) > at > org.apache.james.mailbox.store.event.DefaultDelegatingMailboxListener.deliverEventToMailboxListeners(DefaultDelegatingMailboxListener.java:102) > at > org.apache.james.mailbox.store.event.DefaultDelegatingMailboxListener.event(DefaultDelegatingMailboxListener.java:96) > at > org.apache.james.mailbox.store.event.MailboxEventDispatcher.added(MailboxEventDispatcher.java:73) > at > org.apache.james.mailbox.store.StoreMessageManager$6.execute(StoreMessageManager.java:663) > at > org.apache.james.mailbox.store.StoreMessageManager$6.execute(StoreMessageManager.java:658) > at > org.apache.james.mailbox.store.AbstractMailboxPathLocker.executeWithLock(AbstractMailboxPathLocker.java:38) > at > org.apache.james.mailbox.store.StoreMessageManager.moveTo(StoreMessageManager.java:658) > at > org.apache.james.mailbox.store.StoreMailboxManager$5.execute(StoreMailboxManager.java:682) > at > org.apache.james.mailbox.store.MessageBatcher.batchMessages(MessageBatcher.java:52) > at > org.apache.james.mailbox.store.StoreMailboxManager.moveMessages(StoreMailboxManager.java:680) > at > org.apache.james.imap.processor.MoveProcessor.process(MoveProcessor.java:53) > at > org.apache.james.imap.processor.AbstractMessageRangeProcessor.doProcess(AbstractMessageRangeProcessor.java:81) > at > org.apache.james.imap.processor.AbstractMessageRangeProcessor.doProcess(AbstractMessageRangeProcessor.java:45) > at > org.apache.james.imap.processor.AbstractMailboxProcessor.doProcess(AbstractMailboxProcessor.java:109) > at > org.apache.james.imap.processor.AbstractMailboxProcessor.process(AbstractMailboxProcessor.java:96) > at > org.apache.james.imap.processor.AbstractMailboxProcessor.doProcess(AbstractMailboxProcessor.java:88) > at > org.apache.james.imap.processor.AbstractMailboxProcessor.doProcess(AbstractMailboxProcessor.java:71) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:54) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at > org.apache.james.imap.processor.base.AbstractChainedProcessor.process(AbstractChainedProcessor.java:56) > at >
[jira] [Closed] (JAMES-2058) Add new page on the website for Spring JPA configuration
[ https://issues.apache.org/jira/browse/JAMES-2058?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tellier Benoit closed JAMES-2058. - > Add new page on the website for Spring JPA configuration > > > Key: JAMES-2058 > URL: https://issues.apache.org/jira/browse/JAMES-2058 > Project: James Server > Issue Type: Improvement > Components: Documentation >Reporter: Quynh Nguyen > > As the James use Spring JPA and it use DERBY as the default database. > In case of using another sequence database with Spring JPA, it needs > somewhere to guide how to configure it -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org
[jira] [Commented] (MAILBOX-45) [gsoc2011] Design and Implement Mailbox with NoSQL Storage
[ https://issues.apache.org/jira/browse/MAILBOX-45?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16057100#comment-16057100 ] Matthieu Baechler commented on MAILBOX-45: -- We could probably close that issue : we have hbase and cassandra now. > [gsoc2011] Design and Implement Mailbox with NoSQL Storage > -- > > Key: MAILBOX-45 > URL: https://issues.apache.org/jira/browse/MAILBOX-45 > Project: James Mailbox > Issue Type: New Feature >Reporter: Eric Charles >Assignee: Norman Maurer > Labels: gsoc2011 > > Context: The mailbox subproject (http://james.apache.org/mailbox/) supports > maildir, SQL database (via JPA) and Java Content Repository (JCR) as > technology for mail storage. This flexibility is achieved thanks to a API > design that abstracts mail storage from the mail protocols. > Task: NoSQL storage (for example CouchDB or Cassandra) has great potential > for mail storage. Design and develop an suitable RESTful integration API and > implementations for as many NoSQL targets as possible in the time. > Mentor: rdonkin at apache dot org > Complexity: easy -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org