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/08/20 10:26:06 UTC

[james-project] branch master updated (5926fe8 -> 181ea96)

This is an automated email from the ASF dual-hosted git repository.

btellier pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git.


    from 5926fe8  JAMES-2855 karaf.version is only used in karaf.distribution
     new 4a518c4  JAMES-2855 Upgrade commons-configuration 1.9 -> 2.5
     new ac38b30  JAMES-2855 Big & simple update package name changes
     new f8fd4d9  JAMES-2855 default delimiter is set in PropertyProvider
     new 20179d3  JAMES-2855 DefaultConfigurationBuilder is not available anymore
     new ae5a99d  JAMES-2855 adapt new PropertyListConfiguration properties
     new c8daabc  JAMES-2855 Use proper method to read properties data
     new 1e4bcda  JAMES-2855 Handling XML loading
     new 0f9a913  JAMES-2860 Upgrade scality docker image to last cloudserver version (8.1.17)
     new 2137385  JAMES-2857 Remove bundle and felix plugin from build
     new 7faac28  JAMES-2854 ConfigurationPerformer should be bound to a single startable
     new 3e78217  JAMES-2854 ConfigurationPerformer::initModule should be able to throw Exception
     new b396841  JAMES-2854 Component initialization is not necessary linked to configuration
     new 6171604  JAMES-2854 Reorder import
     new 7cdfff1  JAMES-2813 Add missing licenses
     new 8ddf4c9  JAMES-2829 UnionBlobStore should pass the whole test suite
     new 181ea96  JAMES-2829 Delete and Bucket contracts should be included in BlobStoreContract

The 16 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../init/CassandraSessionConfiguration.java        |  4 +-
 .../init/configuration/CassandraConfiguration.java |  2 +-
 .../init/configuration/ClusterConfiguration.java   |  4 +-
 .../configuration/QueryLoggerConfiguration.java    |  2 +-
 .../migration/CassandraMigrationService.java       |  2 +-
 .../init/CassandraConfigurationReadingTest.java    | 15 +++-
 .../init/QueryLoggerConfigurationTest.java         |  2 +-
 .../migration/CassandraMigrationServiceTest.java   |  3 +-
 backends-common/elasticsearch/pom.xml              | 12 ++-
 .../backends/es/ElasticSearchConfiguration.java    |  6 +-
 .../es/ElasticSearchConfigurationTest.java         |  7 +-
 backends-common/rabbitmq/pom.xml                   | 12 ++-
 .../backend/rabbitmq/RabbitMQConfiguration.java    |  2 +-
 .../rabbitmq/RabbitMQConfigurationTest.java        |  2 +-
 json/src/main/java/org/apache/james/json/DTO.java  | 19 +++++
 json/src/test/java/org/apache/dto/BaseType.java    | 19 +++++
 mailbox/api/pom.xml                                |  2 +-
 mailbox/caching/pom.xml                            |  2 +-
 .../ElasticSearchMailboxConfiguration.java         |  2 +-
 .../ElasticSearchMailboxConfigurationTest.java     |  2 +-
 mailbox/jpa/pom.xml                                |  2 +-
 mailbox/lucene/pom.xml                             |  2 +-
 mailbox/maildir/pom.xml                            |  2 +-
 mailbox/memory/pom.xml                             |  2 +-
 .../apache/james/vault/RetentionConfiguration.java |  2 +-
 .../james/vault/RetentionConfigurationTest.java    |  2 +-
 mailbox/plugin/quota-mailing/pom.xml               | 12 ++-
 .../mailing/QuotaMailingListenerConfiguration.java |  5 +-
 .../listeners/QuotaThresholdCrossingListener.java  |  2 +-
 .../QuotaMailingListenerConfigurationTest.java     | 32 +++-----
 .../ElasticSearchQuotaConfiguration.java           |  2 +-
 .../ElasticSearchQuotaConfigurationTest.java       |  2 +-
 mailbox/pom.xml                                    |  5 --
 mailbox/spring/pom.xml                             |  2 +-
 mailbox/store/pom.xml                              |  2 +-
 mailbox/tika/pom.xml                               | 12 ++-
 mailbox/zoo-seq-provider/pom.xml                   |  2 +-
 mailet/ai/pom.xml                                  |  2 +-
 mailet/api/pom.xml                                 |  2 +-
 mailet/base/pom.xml                                | 12 +--
 mailet/crypto/pom.xml                              | 11 +--
 mailet/pom.xml                                     |  5 --
 mailet/standard/pom.xml                            |  2 +-
 mailet/test/pom.xml                                | 12 +--
 mpt/antlib/pom.xml                                 |  1 +
 mpt/core/pom.xml                                   |  1 +
 .../apache/james/mpt/host/JamesImapHostSystem.java |  6 +-
 .../imapmailbox/cyrus/host/CyrusHostSystem.java    |  4 +-
 .../host/ElasticSearchHostSystem.java              |  4 +-
 .../lucenesearch/host/LuceneSearchHostSystem.java  |  4 +-
 .../maildir/host/MaildirHostSystem.java            |  4 +-
 .../CassandraRabbitMQAwsS3SmtpTestRuleFactory.java |  4 +-
 .../mpt/smtp/CassandraSmtpTestRuleFactory.java     |  4 +-
 mpt/mavenplugin/pom.xml                            | 23 ------
 mpt/pom.xml                                        |  1 +
 pom.xml                                            | 76 ++++-------------
 protocols/api/pom.xml                              | 14 ++--
 .../protocols/api/handler/CommandDispatcher.java   |  4 +-
 .../api/handler/CommandHandlerResultLogger.java    |  4 +-
 .../protocols/api/handler/ProtocolHandler.java     |  4 +-
 protocols/imap/pom.xml                             |  2 +-
 .../protocols/imap/core/IMAPCommandDispatcher.java |  4 +-
 .../protocols/imap/utils/DecoderUtilsTest.java     |  2 +-
 protocols/lmtp/pom.xml                             |  2 +-
 .../protocols/lmtp/AbstractLMTPServerTest.java     |  4 +-
 protocols/managesieve/pom.xml                      |  2 +-
 protocols/netty/pom.xml                            |  2 +-
 protocols/pom.xml                                  | 10 ---
 protocols/pop3/pom.xml                             |  2 +-
 .../james/protocols/pop3/core/CapaCmdHandler.java  |  4 +-
 .../james/protocols/pop3/core/DeleCmdHandler.java  |  4 +-
 .../james/protocols/pop3/core/ListCmdHandler.java  |  4 +-
 .../james/protocols/pop3/core/NoopCmdHandler.java  |  4 +-
 .../james/protocols/pop3/core/QuitCmdHandler.java  |  4 +-
 .../james/protocols/pop3/core/RetrCmdHandler.java  |  4 +-
 .../james/protocols/pop3/core/RsetCmdHandler.java  |  4 +-
 .../james/protocols/pop3/core/StatCmdHandler.java  |  4 +-
 .../james/protocols/pop3/core/StlsCmdHandler.java  |  4 +-
 .../james/protocols/pop3/core/UidlCmdHandler.java  |  4 +-
 .../protocols/pop3/core/UnknownCmdHandler.java     | 24 +++---
 .../james/protocols/pop3/core/UserCmdHandler.java  |  4 +-
 .../protocols/pop3/core/WelcomeMessageHandler.java |  4 +-
 protocols/smtp/pom.xml                             |  2 +-
 .../core/AcceptRecipientIfRelayingIsAllowed.java   |  4 +-
 .../james/protocols/smtp/core/DataCmdHandler.java  |  4 +-
 .../smtp/core/DataLineMessageHookHandler.java      |  4 +-
 .../james/protocols/smtp/core/ExpnCmdHandler.java  |  4 +-
 .../james/protocols/smtp/core/HeloCmdHandler.java  |  4 +-
 .../james/protocols/smtp/core/HelpCmdHandler.java  |  4 +-
 .../james/protocols/smtp/core/MailCmdHandler.java  |  4 +-
 .../james/protocols/smtp/core/NoopCmdHandler.java  |  4 +-
 .../smtp/core/PostmasterAbuseRcptHook.java         |  4 +-
 .../james/protocols/smtp/core/QuitCmdHandler.java  |  4 +-
 .../james/protocols/smtp/core/RcptCmdHandler.java  |  4 +-
 .../smtp/core/ReceivedDataLineFilter.java          |  4 +-
 .../james/protocols/smtp/core/RsetCmdHandler.java  |  4 +-
 .../protocols/smtp/core/UnknownCmdHandler.java     |  4 +-
 .../james/protocols/smtp/core/VrfyCmdHandler.java  |  4 +-
 .../protocols/smtp/core/WelcomeMessageHandler.java |  4 +-
 .../protocols/smtp/core/esmtp/AuthCmdHandler.java  |  4 +-
 .../protocols/smtp/core/esmtp/EhloCmdHandler.java  |  4 +-
 .../smtp/core/esmtp/MailSizeEsmtpExtension.java    |  4 +-
 .../smtp/core/esmtp/StartTlsCmdHandler.java        |  4 +-
 .../smtp/core/fastfail/DNSRBLHandler.java          |  4 +-
 .../smtp/core/fastfail/MaxRcptHandler.java         |  4 +-
 .../smtp/core/fastfail/MaxUnknownCmdHandler.java   |  4 +-
 .../core/fastfail/ResolvableEhloHeloHandler.java   |  4 +-
 .../smtp/core/fastfail/SpamTrapHandler.java        |  4 +-
 .../core/fastfail/SupressDuplicateRcptHandler.java |  4 +-
 .../protocols/smtp/core/log/HookResultLogger.java  |  4 +-
 .../james/protocols/smtp/hook/SimpleHook.java      |  4 +-
 .../protocols/smtp/AbstractSMTPServerTest.java     |  4 +-
 .../fastfail/ValidSenderDomainHandlerTest.java     |  2 +-
 .../protocols/smtp/utils/TestMessageHook.java      |  4 +-
 server/app/pom.xml                                 |  7 +-
 .../apache/james/blob/api/BlobStoreContract.java   |  2 +-
 .../blob/cassandra/CassandraBlobStoreTest.java     |  4 +-
 .../export/file/LocalFileBlobExportMechanism.java  |  2 +-
 .../file/LocalFileBlobExportMechanismTest.java     |  2 +-
 .../james/blob/memory/MemoryBlobStoreTest.java     |  4 +-
 .../ObjectStorageBlobsDAOAWSCryptoTest.java        |  4 +-
 .../ObjectStorageBlobsDAOAWSNamespaceTest.java     |  4 +-
 ...ctStorageBlobsDAOAWSPrefixAndNamespaceTest.java |  4 +-
 .../ObjectStorageBlobsDAOAWSPrefixTest.java        |  4 +-
 .../ObjectStorageBlobsDAOAWSTest.java              |  4 +-
 .../objectstorage/ObjectStorageBlobsDAOTest.java   |  4 +-
 .../objectstorage/aws/DockerAwsS3Container.java    |  2 +-
 server/container/cli-integration/pom.xml           | 10 ---
 server/container/cli/pom.xml                       |  5 --
 server/container/core/pom.xml                      |  7 +-
 .../org/apache/james/server/core/MailImpl.java     |  2 +-
 .../core/configuration/ConfigurationProvider.java  |  4 +-
 .../configuration/FileConfigurationProvider.java   | 29 ++++---
 server/container/filesystem-api/pom.xml            |  7 +-
 .../apache/james/modules/BlobExportImplChoice.java |  2 +-
 .../james/modules/BlobExportMechanismModule.java   |  4 +-
 .../modules/LinshareBlobExportMechanismModule.java |  4 +-
 .../LocalFileBlobExportMechanismModule.java        |  4 +-
 .../james/modules/BlobExportImplChoiceTest.java    |  2 +-
 .../modules/BlobExportMechanismModuleTest.java     |  2 +-
 .../ObjectStorageBlobConfiguration.java            |  4 +-
 .../ObjectStorageDependenciesModule.java           |  4 +-
 .../objectstorage/ObjectStorageProvider.java       |  2 +-
 .../aws/s3/AwsS3ConfigurationReader.java           |  2 +-
 .../swift/SwiftAuthConfiguration.java              |  4 +-
 .../swift/SwiftKeystone2ConfigurationReader.java   |  2 +-
 .../swift/SwiftKeystone3ConfigurationReader.java   |  2 +-
 .../swift/SwiftTmpAuthConfigurationReader.java     |  2 +-
 .../objectstorage/MapConfigurationBuilder.java     |  2 +-
 .../ObjectStorageBlobConfigurationTest.java        |  4 +-
 .../objectstorage/ObjectStorageProviderTest.java   |  2 +-
 .../SwiftKeystone2ConfigurationReaderTest.java     | 14 ++--
 .../SwiftKeystone3ConfigurationReaderTest.java     | 22 ++---
 .../SwiftTmpAuthConfigurationReaderTest.java       | 16 ++--
 .../aws/s3/AwsS3ConfigurationReaderTest.java       |  4 +-
 .../swift/ObjectStorageBlobConfigurationTest.java  |  2 +-
 .../swift/SwiftObjectStorageTest.java              |  2 +-
 server/container/guice/cassandra-guice/pom.xml     |  5 --
 .../modules/data/CassandraDomainListModule.java    | 26 ++----
 .../data/CassandraMailRepositoryModule.java        |  4 +-
 .../data/CassandraRecipientRewriteTableModule.java | 23 ++----
 .../data/CassandraUsersRepositoryModule.java       | 24 ++----
 .../modules/mailbox/CassandraSessionModule.java    |  4 +-
 .../mailbox/ElasticSearchMailboxModule.java        | 25 ++----
 .../mailbox/ElasticSearchQuotaSearcherModule.java  | 25 ++----
 .../modules/mailbox/TikaConfigurationReader.java   |  4 +-
 .../james/modules/mailbox/TikaMailboxModule.java   |  4 +-
 .../modules/metrics/CassandraMetricsModule.java    | 13 ++-
 .../CassandraMessageIdManagerInjectionTest.java    | 13 ++-
 .../james/DefaultCassandraJamesServerTest.java     |  4 +-
 .../mailbox/TikaConfigurationReaderTest.java       | 68 ++++++++-------
 .../container/guice/cassandra-ldap-guice/pom.xml   |  5 --
 .../james/data/LdapUsersRepositoryModule.java      | 29 +++----
 .../test/java/org/apache/james/DockerLdapRule.java |  2 +-
 .../guice/cassandra-rabbitmq-guice/pom.xml         |  5 --
 .../blobstore/BlobStoreChoosingConfiguration.java  |  2 +-
 .../modules/blobstore/BlobStoreChoosingModule.java |  4 +-
 .../modules/event/RabbitMQEventBusModule.java      | 13 ++-
 .../BlobStoreChoosingConfigurationTest.java        |  2 +-
 .../blobstore/BlobStoreChoosingModuleTest.java     |  2 +-
 .../guice/cassandra-rabbitmq-ldap-guice/pom.xml    |  5 --
 server/container/guice/configuration/pom.xml       | 11 ---
 ...Performer.java => InitialisationOperation.java} | 16 ++--
 .../org/apache/james/utils/PropertiesProvider.java | 26 ++++--
 .../apache/james/utils/PropertiesProviderTest.java |  6 ++
 .../configuration/src/test/resources/a.properties  |  3 +-
 server/container/guice/es-metric-reporter/pom.xml  |  8 +-
 .../server/ElasticSearchMetricReporterModule.java  | 17 ++--
 server/container/guice/guice-common/pom.xml        | 11 ---
 .../java/org/apache/james/GuiceJamesServer.java    |  4 +-
 .../james/modules/server/DNSServiceModule.java     | 28 +++----
 ...faultProcessorsConfigurationProviderModule.java |  2 +-
 .../modules/server/DropWizardMetricsModule.java    | 39 +++------
 .../modules/server/MailStoreRepositoryModule.java  | 26 +++---
 .../java/org/apache/james/utils/DataProbeImpl.java |  6 +-
 .../james/utils/GuiceProtocolHandlerLoader.java    |  4 +-
 ...erformer.java => InitializationOperations.java} | 28 +++----
 .../org/apache/james/FakePropertiesProvider.java   |  2 +-
 ...Test.java => InitializationOperationsTest.java} | 96 ++++------------------
 .../org/apache/james/utils/ConfigurablesTest.java  |  4 +-
 .../james/utils/FailingPropertiesProvider.java     |  4 +-
 .../james/utils/FileConfigurationProviderTest.java |  5 +-
 server/container/guice/jmx/pom.xml                 | 11 ---
 .../james/modules/server/JMXServerModule.java      | 58 ++++++-------
 .../james/modules/server/JmxConfiguration.java     |  2 +-
 .../james/modules/server/JmxConfigurationTest.java |  8 +-
 server/container/guice/jpa-common-guice/pom.xml    | 11 ---
 .../james/modules/data/JPADomainListModule.java    | 26 ++----
 .../james/modules/data/JPAEntityManagerModule.java |  4 +-
 .../modules/data/JPAMailRepositoryModule.java      |  4 +-
 .../data/JPARecipientRewriteTableModule.java       | 23 ++----
 .../modules/data/JPAUsersRepositoryModule.java     | 25 ++----
 server/container/guice/jpa-guice/pom.xml           |  5 --
 server/container/guice/jpa-smtp-mariadb/pom.xml    |  5 --
 server/container/guice/jpa-smtp/pom.xml            |  5 --
 .../vault/DeletedMessageVaultRetentionModule.java  |  4 +-
 .../guice/mailbox-plugin-spamassassin/pom.xml      | 12 ++-
 .../SpamAssassinConfigurationLoader.java           |  2 +-
 .../spamassassin/SpamAssassinListenerModule.java   |  4 +-
 .../SpamAssassinConfigurationLoaderTest.java       |  2 +-
 server/container/guice/mailbox/pom.xml             | 11 ---
 .../org/apache/james/modules/MailboxProbeImpl.java | 10 +--
 .../james/modules/mailbox/DefaultEventModule.java  | 15 ++--
 .../modules/mailbox/ListenerConfiguration.java     |  2 +-
 .../modules/mailbox/ListenersConfiguration.java    | 13 +--
 .../modules/mailbox/MailboxListenerFactory.java    |  5 +-
 .../mailbox/MailboxListenersLoaderImpl.java        |  2 +-
 .../mailbox/PreDeletionHookConfiguration.java      |  4 +-
 .../modules/mailbox/PreDeletionHookModule.java     |  2 +-
 .../mailbox/PreDeletionHooksConfiguration.java     | 15 ++--
 .../modules/mailbox/ListenerConfigurationTest.java | 14 ++--
 .../mailbox/MailboxListenersLoaderImplTest.java    | 25 +++---
 .../mailbox/PreDeletionHookConfigurationTest.java  | 11 +--
 .../mailbox/PreDeletionHooksConfigurationTest.java | 21 +++--
 server/container/guice/mailet/pom.xml              | 11 ---
 .../modules/server/CamelMailetContainerModule.java | 67 +++++++--------
 server/container/guice/memory-guice/pom.xml        |  6 --
 .../org/apache/james/FakeMessageSearchIndex.java   | 18 ++--
 .../org/apache/james/MemoryJamesServerMain.java    |  4 +-
 .../james/modules/data/MemoryDataModule.java       | 56 ++++++++-----
 .../apache/james/DefaultMemoryJamesServerTest.java |  4 +-
 .../org/apache/james/GuiceJamesServerTest.java     | 15 ++--
 server/container/guice/onami/pom.xml               | 11 ---
 server/container/guice/protocols/imap/pom.xml      | 11 ---
 .../james/modules/protocols/IMAPServerModule.java  | 25 ++----
 server/container/guice/protocols/jmap/pom.xml      | 11 ---
 .../java/org/apache/james/jmap/JMAPModule.java     |  4 +-
 .../james/modules/protocols/JMAPServerModule.java  | 29 +++----
 .../apache/james/jmap/MailetPreconditionTest.java  |  2 +-
 .../apache/james/modules/TestJMAPServerModule.java |  2 +-
 server/container/guice/protocols/lmtp/pom.xml      | 11 ---
 .../james/modules/protocols/LMTPServerModule.java  | 25 ++----
 .../container/guice/protocols/managedsieve/pom.xml | 11 ---
 .../modules/protocols/ManageSieveServerModule.java | 26 ++----
 server/container/guice/protocols/netty/pom.xml     | 11 ---
 server/container/guice/protocols/pop/pom.xml       | 11 ---
 .../james/modules/protocols/POP3ServerModule.java  | 26 ++----
 server/container/guice/protocols/smtp/pom.xml      | 11 ---
 .../james/modules/protocols/SMTPServerModule.java  | 25 ++----
 .../guice/protocols/webadmin-cassandra/pom.xml     | 11 ---
 .../guice/protocols/webadmin-data/pom.xml          | 11 ---
 .../guice/protocols/webadmin-mailbox/pom.xml       | 11 ---
 .../guice/protocols/webadmin-mailqueue/pom.xml     | 11 ---
 .../protocols/webadmin-mailrepository/pom.xml      | 11 ---
 .../guice/protocols/webadmin-swagger/pom.xml       | 11 ---
 server/container/guice/protocols/webadmin/pom.xml  | 11 ---
 .../james/modules/server/WebAdminServerModule.java | 17 ++--
 .../james/modules/rabbitmq/RabbitMQModule.java     |  4 +-
 server/container/jetty/pom.xml                     | 17 +++-
 .../james/http/jetty/JettyHttpServerFactory.java   |  8 +-
 .../http/jetty/JettyHttpServerFactoryTest.java     | 27 ++----
 server/container/lifecycle-api/pom.xml             | 25 +++---
 .../apache/james/lifecycle/api/Configurable.java   |  4 +-
 server/container/mailbox-adapter/pom.xml           | 12 +--
 server/container/mailbox-jmx/pom.xml               | 13 +--
 .../container/metrics/metrics-es-reporter/pom.xml  |  9 --
 server/container/spring/pom.xml                    | 22 ++---
 .../MailRepositoryStoreBeanFactory.java            | 10 +--
 .../ProtocolHandlerLoaderBeanFactory.java          |  4 +-
 .../ConfigurationBeanFactoryPostProcessor.java     |  4 +-
 ...dexerConfigurationBeanFactoryPostProcessor.java |  4 +-
 ...ilboxConfigurationBeanFactoryPostProcessor.java |  4 +-
 .../QuotaBeanFactoryPostProcessor.java             |  4 +-
 .../lifecycle/ConfigurableBeanPostProcessor.java   |  2 +-
 .../spring/lifecycle/ConfigurationProvider.java    |  4 +-
 .../lifecycle/ConfigurationProviderImpl.java       | 30 +++----
 .../lifecycle/osgi/OSGIConfigurationProvider.java  | 23 ++----
 .../mailbox/MaxQuotaConfigurationReader.java       |  4 +-
 .../spring/osgi/AbstractBundleTracker.java         |  2 +-
 server/container/util/pom.xml                      | 11 +--
 server/data/data-api/pom.xml                       |  7 +-
 server/data/data-cassandra/pom.xml                 | 16 ++--
 .../CassandraRecipientRewriteTableV6Test.java      |  4 +-
 .../CassandraRecipientRewriteTableV7Test.java      |  4 +-
 .../james/rrt/cassandra/CassandraStepdefs.java     |  4 +-
 server/data/data-file/pom.xml                      | 19 ++---
 .../apache/james/domainlist/xml/XMLDomainList.java |  2 +-
 .../mailrepository/file/FileMailRepository.java    |  8 +-
 .../james/rrt/file/XMLRecipientRewriteTable.java   |  4 +-
 .../james/user/file/UsersFileRepository.java       |  8 +-
 .../mailrepository/FileMailRepositoryTest.java     | 16 ++--
 .../rrt/file/XMLRecipientRewriteTableTest.java     |  7 +-
 .../james/user/file/UsersFileRepositoryTest.java   |  4 +-
 server/data/data-jdbc/pom.xml                      | 25 ++----
 .../mailrepository/jdbc/JDBCMailRepository.java    |  8 +-
 .../james/rrt/jdbc/JDBCRecipientRewriteTable.java  |  4 +-
 .../user/jdbc/AbstractJdbcUsersRepository.java     |  4 +-
 .../jdbc/JDBCMailRepositoryTest.java               |  4 +-
 .../rrt/jdbc/JDBCRecipientRewriteTableTest.java    |  4 +-
 .../org/apache/james/rrt/jdbc/JDBCStepdefs.java    |  4 +-
 .../user/jdbc/DefaultUsersJdbcRepositoryTest.java  |  4 +-
 .../user/jdbc/JamesUsersJdbcRepositoryTest.java    |  4 +-
 server/data/data-jmap-cassandra/pom.xml            |  4 -
 server/data/data-jpa/pom.xml                       | 19 ++---
 .../james/sieve/jpa/model/JPASieveScript.java      |  2 +-
 .../apache/james/user/jpa/JPAUsersRepository.java  |  4 +-
 .../rrt/jpa/JPARecipientRewriteTableTest.java      |  4 +-
 .../java/org/apache/james/rrt/jpa/JPAStepdefs.java |  4 +-
 .../james/user/jpa/JpaUsersRepositoryTest.java     |  4 +-
 server/data/data-ldap/pom.xml                      | 25 +++---
 .../user/ldap/LdapRepositoryConfiguration.java     |  4 +-
 .../user/ldap/ReadOnlyLDAPGroupRestriction.java    |  4 +-
 .../user/ldap/ReadOnlyUsersLDAPRepository.java     |  6 +-
 .../user/ldap/ReadOnlyUsersLDAPRepositoryTest.java | 14 ++--
 server/data/data-library/pom.xml                   | 15 ++--
 .../james/domainlist/lib/AbstractDomainList.java   |  4 +-
 .../domainlist/lib/DomainListConfiguration.java    |  2 +-
 .../mailrepository/lib/AbstractMailRepository.java |  4 +-
 .../repository/file/AbstractFileRepository.java    |  4 +-
 .../rrt/lib/AbstractRecipientRewriteTable.java     |  4 +-
 .../user/lib/AbstractJamesUsersRepository.java     |  4 +-
 .../james/user/lib/AbstractUsersRepository.java    |  4 +-
 server/data/data-memory/pom.xml                    |  7 +-
 .../memory/MailRepositoryStoreConfiguration.java   |  5 +-
 .../memory/MemoryMailRepositoryStore.java          | 11 +--
 .../james/user/memory/MemoryUsersRepository.java   |  4 +-
 .../MailRepositoryStoreConfigurationTest.java      | 10 +--
 .../memory/MemoryMailRepositoryStoreTest.java      |  6 +-
 .../apache/james/rrt/memory/InMemoryStepdefs.java  |  4 +-
 .../memory/MemoryRecipientRewriteTableTest.java    |  4 +-
 server/dns-service/dnsservice-api/pom.xml          |  7 +-
 server/dns-service/dnsservice-dnsjava/pom.xml      | 35 ++++----
 .../james/dnsservice/dnsjava/DNSJavaService.java   |  4 +-
 .../dnsservice/dnsjava/DNSJavaServiceTest.java     |  7 +-
 server/dns-service/dnsservice-library/pom.xml      | 12 +--
 server/dns-service/dnsservice-test/pom.xml         |  7 +-
 server/karaf/integration/pom.xml                   |  2 +
 server/mailet/integration-testing/pom.xml          |  2 +-
 .../apache/james/mailets/TemporaryJamesServer.java |  2 +-
 server/mailet/mailetcontainer-api/pom.xml          |  7 +-
 server/mailet/mailetcontainer-camel/pom.xml        | 23 ++----
 .../mailetcontainer/impl/JamesMailSpooler.java     |  3 +-
 .../mailetcontainer/impl/JamesMailetContext.java   |  4 +-
 .../mailetcontainer/impl/MailetConfigImpl.java     |  9 +-
 .../impl/camel/CamelCompositeProcessor.java        |  2 +-
 .../lib/AbstractStateCompositeProcessor.java       |  4 +-
 .../lib/AbstractStateMailetProcessor.java          |  4 +-
 .../mailetcontainer/impl/JamesMailSpoolerTest.java |  2 +-
 .../impl/JamesMailetContextTest.java               |  4 +-
 .../mailetcontainer/impl/MailetConfigImplTest.java | 42 ++++++----
 .../impl/camel/CamelCompositeProcessorTest.java    |  2 +-
 .../impl/camel/CamelMailetProcessorTest.java       |  2 +-
 .../lib/AbstractStateCompositeProcessorTest.java   | 33 ++++----
 .../lib/AbstractStateMailetProcessorTest.java      | 10 +--
 server/mailet/mailets/pom.xml                      |  6 +-
 .../mailets/ToSenderDomainRepositoryTest.java      |  4 +-
 .../remote/delivery/RemoteDeliveryTest.java        |  2 +-
 server/mailrepository/mailrepository-api/pom.xml   |  7 +-
 .../mailrepository-cassandra/pom.xml               |  5 --
 .../mailrepository/mailrepository-memory/pom.xml   |  5 --
 server/pom.xml                                     | 19 -----
 server/protocols/fetchmail/pom.xml                 | 20 ++---
 .../java/org/apache/james/fetchmail/Account.java   |  2 +-
 .../org/apache/james/fetchmail/DynamicAccount.java |  2 +-
 .../java/org/apache/james/fetchmail/FetchMail.java | 18 ++--
 .../org/apache/james/fetchmail/FetchScheduler.java |  4 +-
 .../james/fetchmail/ParsedConfiguration.java       |  4 +-
 .../methods/integration/SpamAssassinModule.java    |  2 +-
 .../james/jmap/JmapFieldNotSupportedException.java |  4 +-
 .../james/jmap/model/GetMailboxesResponse.java     |  8 +-
 .../james/jmap/model/GetMessageListRequest.java    | 12 +--
 .../james/jmap/model/GetMessageListResponse.java   | 16 ++--
 .../java/org/apache/james/jmap/model/Keyword.java  |  2 +-
 .../james/jmap/model/SetMailboxesRequest.java      |  6 +-
 .../james/jmap/model/SetMessagesResponse.java      |  8 +-
 .../james/jmap/model/mailbox/MailboxNamespace.java |  2 +-
 .../jmap/model/mailbox/MailboxUpdateRequest.java   |  6 +-
 .../james/jmap/utils/JsoupHtmlTextExtractor.java   |  2 +-
 .../james/jmap/methods/GetMessagesMethodTest.java  |  2 +-
 .../model/GetMailboxMessageListResponseTest.java   |  2 +-
 .../james/jmap/model/GetMailboxesRequestTest.java  |  2 +-
 .../jmap/model/GetMessageListRequestTest.java      |  2 +-
 .../james/jmap/model/GetVacationRequestTest.java   |  2 +-
 .../james/jmap/model/SetMailboxesRequestTest.java  |  2 +-
 .../james/jmap/model/SetMessagesRequestTest.java   |  2 +-
 .../james/jmap/model/SetMessagesResponseTest.java  |  2 +-
 .../james/jmap/model/SetVacationRequestTest.java   |  2 +-
 .../model/mailbox/MailboxCreateRequestTest.java    |  2 +-
 server/protocols/protocols-imap4/pom.xml           | 23 ++----
 .../apache/james/imapserver/netty/IMAPServer.java  |  4 +-
 .../james/imapserver/netty/IMAPServerFactory.java  |  2 +-
 .../james/imapserver/netty/IMAPServerTest.java     |  7 +-
 server/protocols/protocols-library/pom.xml         | 18 ++--
 .../protocols/lib/ProtocolHandlerChainImpl.java    | 16 ++--
 .../lib/handler/ProtocolHandlerLoader.java         |  2 +-
 .../AbstractCommandHandlerResultJMXMonitor.java    |  4 +-
 .../AbstractConnectHandlerResultJMXMonitor.java    |  4 +-
 .../jmx/AbstractLineHandlerResultJMXMonitor.java   |  4 +-
 .../lib/netty/AbstractConfigurableAsyncServer.java |  6 +-
 .../lib/netty/AbstractProtocolAsyncServer.java     |  4 +-
 .../protocols/lib/netty/AbstractServerFactory.java |  4 +-
 .../lib/mock/MockProtocolHandlerLoader.java        |  2 +-
 server/protocols/protocols-lmtp/pom.xml            | 23 ++----
 .../james/lmtpserver/CoreCmdHandlerLoader.java     |  4 +-
 .../hook/MailboxDeliverToRecipientHandler.java     |  4 +-
 .../james/lmtpserver/jmx/JMXHandlersLoader.java    |  4 +-
 .../apache/james/lmtpserver/netty/LMTPServer.java  |  4 +-
 .../james/lmtpserver/netty/LMTPServerFactory.java  |  2 +-
 server/protocols/protocols-managesieve/pom.xml     | 12 ++-
 .../netty/ManageSieveServerFactory.java            |  2 +-
 server/protocols/protocols-pop3/pom.xml            | 23 ++----
 .../pop3server/core/CoreCmdHandlerLoader.java      |  4 +-
 .../james/pop3server/jmx/JMXHandlersLoader.java    |  4 +-
 .../james/pop3server/netty/POP3ServerFactory.java  |  2 +-
 .../james/pop3server/POP3TestConfiguration.java    |  4 +-
 server/protocols/protocols-smtp/pom.xml            | 23 ++----
 .../AddDefaultAttributesMessageHook.java           |  4 +-
 .../smtpserver/AuthRequiredToRelayRcptHook.java    |  4 +-
 .../james/smtpserver/CoreCmdHandlerLoader.java     |  4 +-
 .../DataLineJamesMessageHookHandler.java           |  4 +-
 .../james/smtpserver/MailPriorityHandler.java      |  6 +-
 .../james/smtpserver/POP3BeforeSMTPHandler.java    |  6 +-
 .../apache/james/smtpserver/SendMailHandler.java   |  4 +-
 .../SenderAuthIdentifyVerificationRcptHook.java    |  4 +-
 .../james/smtpserver/SetMimeHeaderHandler.java     |  4 +-
 .../james/smtpserver/UsersRepositoryAuthHook.java  |  4 +-
 .../james/smtpserver/fastfail/DNSRBLHandler.java   |  6 +-
 .../smtpserver/fastfail/JDBCGreylistHandler.java   |  4 +-
 .../james/smtpserver/fastfail/MaxRcptHandler.java  |  4 +-
 .../smtpserver/fastfail/MaxUnknownCmdHandler.java  |  4 +-
 .../james/smtpserver/fastfail/SPFHandler.java      |  4 +-
 .../smtpserver/fastfail/SpamAssassinHandler.java   |  4 +-
 .../james/smtpserver/fastfail/SpamTrapHandler.java |  4 +-
 .../james/smtpserver/fastfail/URIRBLHandler.java   |  4 +-
 .../smtpserver/fastfail/ValidRcptHandler.java      |  4 +-
 .../james/smtpserver/fastfail/ValidRcptMX.java     |  4 +-
 .../fastfail/ValidSenderDomainHandler.java         |  4 +-
 .../james/smtpserver/jmx/HookResultJMXMonitor.java |  4 +-
 .../james/smtpserver/jmx/JMXHandlersLoader.java    |  4 +-
 .../apache/james/smtpserver/netty/SMTPServer.java  |  4 +-
 .../james/smtpserver/netty/SMTPServerFactory.java  |  2 +-
 .../apache/james/smtpserver/SMTPServerTest.java    |  4 +-
 .../james/smtpserver/SMTPTestConfiguration.java    |  4 +-
 .../james/webadmin/routes/AliasRoutesTest.java     |  4 +-
 .../james/webadmin/routes/ForwardRoutesTest.java   |  4 +-
 .../routes/DeletedMessagesVaultRoutesTest.java     |  4 +-
 .../routes/MailRepositoriesRoutesTest.java         |  6 +-
 .../webadmin/service/ReprocessingServiceTest.java  |  4 +-
 server/queue/queue-activemq/pom.xml                | 12 +--
 server/queue/queue-api/pom.xml                     |  6 +-
 server/queue/queue-file/pom.xml                    |  6 +-
 server/queue/queue-jms/pom.xml                     | 11 +--
 server/queue/queue-rabbitmq/pom.xml                |  2 +-
 .../CassandraMailQueueViewConfiguration.java       |  2 +-
 .../CassandraMailQueueViewConfigurationTest.java   |  2 +-
 .../apache/james/server/task/json/dto/TaskDTO.java | 19 +++++
 .../org/apache/james/task/TaskManagerContract.java | 19 +++++
 third-party/linshare/pom.xml                       | 12 ++-
 .../james/linshare/LinshareConfiguration.java      |  2 +-
 .../james/linshare/LinshareConfigurationTest.java  |  2 +-
 470 files changed, 1574 insertions(+), 2287 deletions(-)
 rename server/container/guice/configuration/src/main/java/org/apache/james/utils/{ConfigurationPerformer.java => InitialisationOperation.java} (79%)
 rename server/container/guice/guice-common/src/main/java/org/apache/james/utils/{ConfigurationsPerformer.java => InitializationOperations.java} (64%)
 rename server/container/guice/guice-common/src/test/java/org/apache/james/modules/{ConfigurationsPerformerTest.java => InitializationOperationsTest.java} (56%)


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[james-project] 07/16: JAMES-2855 Handling XML loading

Posted by bt...@apache.org.
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 1e4bcda6e2aad60f6331e7aa821b205c4dead3aa
Author: Tran Tien Duc <dt...@linagora.com>
AuthorDate: Mon Aug 19 11:54:18 2019 +0700

    JAMES-2855 Handling XML loading
---
 .../QuotaMailingListenerConfigurationTest.java     | 32 +++++++----------
 .../configuration/FileConfigurationProvider.java   | 29 ++++++++-------
 .../mailbox/MailboxListenersLoaderImplTest.java    | 25 ++++++-------
 .../mailbox/PreDeletionHooksConfigurationTest.java | 21 ++++++-----
 server/container/jetty/pom.xml                     |  5 +++
 .../http/jetty/JettyHttpServerFactoryTest.java     | 27 +++++---------
 .../lifecycle/osgi/OSGIConfigurationProvider.java  | 23 ++++--------
 server/dns-service/dnsservice-dnsjava/pom.xml      |  5 +++
 .../dnsservice/dnsjava/DNSJavaServiceTest.java     |  7 ++--
 .../mailetcontainer/impl/MailetConfigImplTest.java | 42 +++++++++++++---------
 .../lib/AbstractStateCompositeProcessorTest.java   | 33 +++++++++--------
 .../lib/AbstractStateMailetProcessorTest.java      | 10 +++---
 12 files changed, 125 insertions(+), 134 deletions(-)

diff --git a/mailbox/plugin/quota-mailing/src/test/java/org/apache/james/mailbox/quota/mailing/QuotaMailingListenerConfigurationTest.java b/mailbox/plugin/quota-mailing/src/test/java/org/apache/james/mailbox/quota/mailing/QuotaMailingListenerConfigurationTest.java
index 9f76365..cff7d75 100644
--- a/mailbox/plugin/quota-mailing/src/test/java/org/apache/james/mailbox/quota/mailing/QuotaMailingListenerConfigurationTest.java
+++ b/mailbox/plugin/quota-mailing/src/test/java/org/apache/james/mailbox/quota/mailing/QuotaMailingListenerConfigurationTest.java
@@ -28,9 +28,10 @@ import java.nio.charset.StandardCharsets;
 import java.time.Duration;
 import java.util.Optional;
 
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.commons.configuration2.XMLConfiguration;
 import org.apache.james.mailbox.quota.mailing.QuotaMailingListenerConfiguration.RenderingInformation;
 import org.apache.james.mailbox.quota.model.QuotaThreshold;
+import org.apache.james.server.core.configuration.FileConfigurationProvider;
 import org.junit.jupiter.api.Test;
 
 import nl.jqno.equalsverifier.EqualsVerifier;
@@ -52,8 +53,7 @@ public class QuotaMailingListenerConfigurationTest {
 
     @Test
     public void fromShouldReadXMLConfiguration() throws Exception {
-        DefaultConfigurationBuilder xmlConfiguration = new DefaultConfigurationBuilder();
-        xmlConfiguration.load(toStream(
+        XMLConfiguration xmlConfiguration = FileConfigurationProvider.getConfig(toStream(
             "<configuration>\n" +
                 "  <thresholds>\n" +
                 "    <threshold>" +
@@ -90,8 +90,7 @@ public class QuotaMailingListenerConfigurationTest {
 
     @Test
     public void fromShouldReadXMLConfigurationWhenRenderingInformationPartiallyOmited() throws Exception {
-        DefaultConfigurationBuilder xmlConfiguration = new DefaultConfigurationBuilder();
-        xmlConfiguration.load(toStream(
+        XMLConfiguration xmlConfiguration = FileConfigurationProvider.getConfig(toStream(
             "<configuration>\n" +
                 "  <thresholds>\n" +
                 "    <threshold>" +
@@ -127,8 +126,7 @@ public class QuotaMailingListenerConfigurationTest {
 
     @Test
     public void fromShouldAcceptEmptyThreshold() throws Exception {
-        DefaultConfigurationBuilder xmlConfiguration = new DefaultConfigurationBuilder();
-        xmlConfiguration.load(toStream(
+        XMLConfiguration xmlConfiguration = FileConfigurationProvider.getConfig(toStream(
             "<configuration>\n" +
                 "  <thresholds></thresholds>\n" +
                 "  <gracePeriod>3 days</gracePeriod>\n" +
@@ -144,8 +142,7 @@ public class QuotaMailingListenerConfigurationTest {
 
     @Test
     public void fromShouldReturnDefaultWhenEmptyConfiguration() throws Exception {
-        DefaultConfigurationBuilder xmlConfiguration = new DefaultConfigurationBuilder();
-        xmlConfiguration.load(toStream(
+        XMLConfiguration xmlConfiguration = FileConfigurationProvider.getConfig(toStream(
             "<configuration></configuration>"));
 
         QuotaMailingListenerConfiguration result = QuotaMailingListenerConfiguration.from(xmlConfiguration);
@@ -164,8 +161,7 @@ public class QuotaMailingListenerConfigurationTest {
 
     @Test
     public void fromShouldThrowOnNonParsableGracePeriod() throws Exception {
-        DefaultConfigurationBuilder xmlConfiguration = new DefaultConfigurationBuilder();
-        xmlConfiguration.load(toStream(
+        XMLConfiguration xmlConfiguration = FileConfigurationProvider.getConfig(toStream(
             "<configuration><gracePeriod>nonParsable</gracePeriod></configuration>"));
 
         assertThatThrownBy(() -> QuotaMailingListenerConfiguration.from(xmlConfiguration))
@@ -174,8 +170,7 @@ public class QuotaMailingListenerConfigurationTest {
 
     @Test
     public void fromShouldThrowOnNegativeGracePeriod() throws Exception {
-        DefaultConfigurationBuilder xmlConfiguration = new DefaultConfigurationBuilder();
-        xmlConfiguration.load(toStream(
+        XMLConfiguration xmlConfiguration = FileConfigurationProvider.getConfig(toStream(
             "<configuration><gracePeriod>-12 ms</gracePeriod></configuration>"));
 
         assertThatThrownBy(() -> QuotaMailingListenerConfiguration.from(xmlConfiguration))
@@ -184,8 +179,7 @@ public class QuotaMailingListenerConfigurationTest {
 
     @Test
     public void fromShouldLoadGracePeriodInMs() throws Exception {
-        DefaultConfigurationBuilder xmlConfiguration = new DefaultConfigurationBuilder();
-        xmlConfiguration.load(toStream(
+        XMLConfiguration xmlConfiguration = FileConfigurationProvider.getConfig(toStream(
             "<configuration><gracePeriod>12 ms</gracePeriod></configuration>"));
 
         assertThat(QuotaMailingListenerConfiguration.from(xmlConfiguration).getGracePeriod())
@@ -194,8 +188,7 @@ public class QuotaMailingListenerConfigurationTest {
 
     @Test
     public void defaultUnitShouldBeMilliseconds() throws Exception {
-        DefaultConfigurationBuilder xmlConfiguration = new DefaultConfigurationBuilder();
-        xmlConfiguration.load(toStream(
+        XMLConfiguration xmlConfiguration = FileConfigurationProvider.getConfig(toStream(
             "<configuration><gracePeriod>12</gracePeriod></configuration>"));
 
         assertThat(QuotaMailingListenerConfiguration.from(xmlConfiguration).getGracePeriod())
@@ -204,7 +197,7 @@ public class QuotaMailingListenerConfigurationTest {
 
     @Test
     public void fromShouldThrowOnEmptySubjectTemplate() throws Exception {
-        DefaultConfigurationBuilder xmlConfiguration = new DefaultConfigurationBuilder();xmlConfiguration.load(toStream(
+        XMLConfiguration xmlConfiguration = FileConfigurationProvider.getConfig(toStream(
             "<configuration>\n" +
                 "  <thresholds>\n" +
                 "    <threshold>" +
@@ -223,7 +216,7 @@ public class QuotaMailingListenerConfigurationTest {
 
     @Test
     public void fromShouldThrowOnEmptyBodyTemplate() throws Exception {
-        DefaultConfigurationBuilder xmlConfiguration = new DefaultConfigurationBuilder();xmlConfiguration.load(toStream(
+        XMLConfiguration xmlConfiguration = FileConfigurationProvider.getConfig(toStream(
             "<configuration>\n" +
                 "  <thresholds>\n" +
                 "    <threshold>" +
@@ -242,5 +235,4 @@ public class QuotaMailingListenerConfigurationTest {
     private InputStream toStream(String string) {
         return new ByteArrayInputStream(string.getBytes(StandardCharsets.UTF_8));
     }
-
 }
\ No newline at end of file
diff --git a/server/container/core/src/main/java/org/apache/james/server/core/configuration/FileConfigurationProvider.java b/server/container/core/src/main/java/org/apache/james/server/core/configuration/FileConfigurationProvider.java
index b36db81..9aa2b87 100644
--- a/server/container/core/src/main/java/org/apache/james/server/core/configuration/FileConfigurationProvider.java
+++ b/server/container/core/src/main/java/org/apache/james/server/core/configuration/FileConfigurationProvider.java
@@ -24,10 +24,13 @@ import java.io.InputStream;
 import java.util.List;
 import java.util.Optional;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
-import org.apache.commons.configuration.PropertiesConfiguration;
-import org.apache.commons.configuration.XMLConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.XMLConfiguration;
+import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder;
+import org.apache.commons.configuration2.builder.fluent.Parameters;
+import org.apache.commons.configuration2.convert.DisabledListDelimiterHandler;
+import org.apache.commons.configuration2.ex.ConfigurationException;
+import org.apache.commons.configuration2.io.FileHandler;
 import org.apache.james.filesystem.api.FileSystem;
 import org.apache.james.util.LoggingLevel;
 import org.slf4j.Logger;
@@ -42,17 +45,19 @@ public class FileConfigurationProvider implements ConfigurationProvider {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(FileConfigurationProvider.class);
     private static final String CONFIGURATION_FILE_SUFFIX = ".xml";
-    private static final char SEMICOLON = ';';
 
-    public static final HierarchicalConfiguration EMPTY_CONFIGURATION = new HierarchicalConfiguration();
+    public static final HierarchicalConfiguration EMPTY_CONFIGURATION = new XMLConfiguration();
 
     public static XMLConfiguration getConfig(InputStream configStream) throws ConfigurationException {
-        PropertiesConfiguration.setDefaultListDelimiter(SEMICOLON);
-        XMLConfiguration config = new XMLConfiguration();
-        config.setDelimiterParsingDisabled(true);
-        config.setAttributeSplittingDisabled(true);
-        config.load(configStream);
-        return config;
+        FileBasedConfigurationBuilder<XMLConfiguration> builder = new FileBasedConfigurationBuilder<>(XMLConfiguration.class)
+            .configure(new Parameters()
+                .xml()
+                .setListDelimiterHandler(new DisabledListDelimiterHandler()));
+        XMLConfiguration xmlConfiguration = builder.getConfiguration();
+        FileHandler fileHandler = new FileHandler(xmlConfiguration);
+        fileHandler.load(configStream);
+
+        return xmlConfiguration;
     }
     
     private final FileSystem fileSystem;
diff --git a/server/container/guice/mailbox/src/test/java/org/apache/james/modules/mailbox/MailboxListenersLoaderImplTest.java b/server/container/guice/mailbox/src/test/java/org/apache/james/modules/mailbox/MailboxListenersLoaderImplTest.java
index 9ca87b4..d3d33eb 100644
--- a/server/container/guice/mailbox/src/test/java/org/apache/james/modules/mailbox/MailboxListenersLoaderImplTest.java
+++ b/server/container/guice/mailbox/src/test/java/org/apache/james/modules/mailbox/MailboxListenersLoaderImplTest.java
@@ -26,10 +26,11 @@ import static org.mockito.Mockito.when;
 
 import java.io.ByteArrayInputStream;
 import java.io.FileNotFoundException;
+import java.io.IOException;
 import java.nio.charset.StandardCharsets;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.commons.configuration2.XMLConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.commons.lang3.tuple.Pair;
 import org.apache.james.filesystem.api.FileSystem;
 import org.apache.james.mailbox.events.GenericGroup;
@@ -38,6 +39,7 @@ import org.apache.james.mailbox.events.InVMEventBus;
 import org.apache.james.mailbox.events.MailboxListener;
 import org.apache.james.mailbox.events.delivery.InVmEventDelivery;
 import org.apache.james.metrics.api.NoopMetricFactory;
+import org.apache.james.server.core.configuration.FileConfigurationProvider;
 import org.apache.james.utils.ExtendedClassLoader;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
@@ -101,8 +103,8 @@ class MailboxListenersLoaderImplTest {
     }
 
     @Test
-    void configureShouldAddMailboxListenersWhenConfigurationIsGood() throws ConfigurationException {
-        DefaultConfigurationBuilder configuration = toConfigutation("<listeners>" +
+    void configureShouldAddMailboxListenersWhenConfigurationIsGood() throws Exception {
+        XMLConfiguration configuration = toConfigutation("<listeners>" +
                     "<listener>" +
                         "<class>org.apache.james.modules.mailbox.NoopMailboxListener</class>" +
                     "</listener>" +
@@ -114,8 +116,8 @@ class MailboxListenersLoaderImplTest {
     }
 
     @Test
-    void customGroupCanBePassed() throws ConfigurationException {
-        DefaultConfigurationBuilder configuration = toConfigutation("<listeners>" +
+    void customGroupCanBePassed() throws Exception {
+        XMLConfiguration configuration = toConfigutation("<listeners>" +
                     "<listener>" +
                         "<class>org.apache.james.modules.mailbox.NoopMailboxListener</class>" +
                         "<group>Avengers</group>" +
@@ -128,8 +130,8 @@ class MailboxListenersLoaderImplTest {
     }
 
     @Test
-    void aListenerCanBeRegisteredOnSeveralGroups() throws ConfigurationException {
-        DefaultConfigurationBuilder configuration = toConfigutation("<listeners>" +
+    void aListenerCanBeRegisteredOnSeveralGroups() throws Exception {
+        XMLConfiguration configuration = toConfigutation("<listeners>" +
                     "<listener>" +
                         "<class>org.apache.james.modules.mailbox.NoopMailboxListener</class>" +
                         "<group>Avengers</group>" +
@@ -145,9 +147,8 @@ class MailboxListenersLoaderImplTest {
         assertThat(eventBus.registeredGroups()).containsExactlyInAnyOrder(new GenericGroup("Avengers"), new GenericGroup("Fantastic 4"));
     }
 
-    private DefaultConfigurationBuilder toConfigutation(String configurationString) throws ConfigurationException {
-        DefaultConfigurationBuilder configuration = new DefaultConfigurationBuilder();
-        configuration.load(new ByteArrayInputStream(configurationString.getBytes(StandardCharsets.UTF_8)));
-        return configuration;
+    private XMLConfiguration toConfigutation(String configurationString) throws ConfigurationException, IOException {
+        return FileConfigurationProvider
+            .getConfig(new ByteArrayInputStream(configurationString.getBytes(StandardCharsets.UTF_8)));
     }
 }
diff --git a/server/container/guice/mailbox/src/test/java/org/apache/james/modules/mailbox/PreDeletionHooksConfigurationTest.java b/server/container/guice/mailbox/src/test/java/org/apache/james/modules/mailbox/PreDeletionHooksConfigurationTest.java
index f14a977..a98a4ba 100644
--- a/server/container/guice/mailbox/src/test/java/org/apache/james/modules/mailbox/PreDeletionHooksConfigurationTest.java
+++ b/server/container/guice/mailbox/src/test/java/org/apache/james/modules/mailbox/PreDeletionHooksConfigurationTest.java
@@ -25,9 +25,11 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import java.io.ByteArrayInputStream;
 import java.nio.charset.StandardCharsets;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
-import org.apache.commons.configuration.XMLConfiguration;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.XMLConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
+import org.apache.james.server.core.configuration.FileConfigurationProvider;
 import org.junit.jupiter.api.Test;
 
 import com.google.common.collect.ImmutableList;
@@ -43,7 +45,7 @@ class PreDeletionHooksConfigurationTest {
 
     @Test
     void fromShouldReturnNoneWhenEmpty() throws Exception {
-        HierarchicalConfiguration configuration = new HierarchicalConfiguration();
+        HierarchicalConfiguration configuration = new BaseHierarchicalConfiguration();
 
         assertThat(PreDeletionHooksConfiguration.from(configuration))
             .isEqualTo(PreDeletionHooksConfiguration.none());
@@ -51,8 +53,7 @@ class PreDeletionHooksConfigurationTest {
 
     @Test
     void fromShouldThrowWhenInvalidHookConfiguration() throws Exception {
-        XMLConfiguration configuration = new XMLConfiguration();
-        configuration.load(new ByteArrayInputStream((
+        XMLConfiguration configuration = FileConfigurationProvider.getConfig(new ByteArrayInputStream((
             "<preDeletionHooks>" +
                 "  <preDeletionHook>" +
                 "    <class></class>" +
@@ -60,7 +61,7 @@ class PreDeletionHooksConfigurationTest {
                 "</preDeletionHooks>")
             .getBytes(StandardCharsets.UTF_8)));
 
-        HierarchicalConfiguration invalidConfigurationEntry = new HierarchicalConfiguration();
+        HierarchicalConfiguration invalidConfigurationEntry = new BaseHierarchicalConfiguration();
         configuration.addProperty(PreDeletionHooksConfiguration.CONFIGURATION_ENTRY_NAME, ImmutableList.of(invalidConfigurationEntry));
 
         assertThatThrownBy(() -> PreDeletionHooksConfiguration.from(configuration))
@@ -69,8 +70,7 @@ class PreDeletionHooksConfigurationTest {
 
     @Test
     void fromShouldReturnConfiguredEntry() throws Exception {
-        XMLConfiguration configuration = new XMLConfiguration();
-        configuration.load(new ByteArrayInputStream((
+        XMLConfiguration configuration = FileConfigurationProvider.getConfig(new ByteArrayInputStream((
             "<preDeletionHooks>" +
             "  <preDeletionHook>" +
             "    <class>a.class</class>" +
@@ -85,8 +85,7 @@ class PreDeletionHooksConfigurationTest {
 
     @Test
     void fromShouldReturnAllConfiguredEntries() throws Exception {
-        XMLConfiguration configuration = new XMLConfiguration();
-        configuration.load(new ByteArrayInputStream((
+        XMLConfiguration configuration = FileConfigurationProvider.getConfig(new ByteArrayInputStream((
             "<preDeletionHooks>" +
             "  <preDeletionHook>" +
             "    <class>a.class</class>" +
diff --git a/server/container/jetty/pom.xml b/server/container/jetty/pom.xml
index 0576690..13d8668 100644
--- a/server/container/jetty/pom.xml
+++ b/server/container/jetty/pom.xml
@@ -39,6 +39,11 @@
         </dependency>
         <dependency>
             <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-core</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
             <artifactId>james-server-util</artifactId>
         </dependency>
         <dependency>
diff --git a/server/container/jetty/src/test/java/org/apache/james/http/jetty/JettyHttpServerFactoryTest.java b/server/container/jetty/src/test/java/org/apache/james/http/jetty/JettyHttpServerFactoryTest.java
index 76e1ff3..35a7863 100644
--- a/server/container/jetty/src/test/java/org/apache/james/http/jetty/JettyHttpServerFactoryTest.java
+++ b/server/container/jetty/src/test/java/org/apache/james/http/jetty/JettyHttpServerFactoryTest.java
@@ -21,28 +21,19 @@ package org.apache.james.http.jetty;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
-import java.io.InputStream;
 import java.util.List;
 
-import org.apache.commons.configuration.HierarchicalConfiguration;
-import org.apache.commons.configuration.XMLConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.james.server.core.configuration.FileConfigurationProvider;
 import org.junit.Test;
 
 import com.google.common.collect.ImmutableMap;
 
 public class JettyHttpServerFactoryTest {
 
-    private HierarchicalConfiguration loadConfiguration(InputStream configuration) throws org.apache.commons.configuration.ConfigurationException {
-        XMLConfiguration config = new XMLConfiguration();
-        config.setDelimiterParsingDisabled(true);
-        config.setAttributeSplittingDisabled(true);
-        config.load(configuration);
-        return config;
-    }
-    
     @Test
     public void shouldCreateServersAsDescribedInXmlConfiguration() throws Exception {
-        HierarchicalConfiguration configuration = loadConfiguration(ClassLoader.getSystemResourceAsStream("httpserver.xml"));
+        HierarchicalConfiguration configuration = FileConfigurationProvider.getConfig(ClassLoader.getSystemResourceAsStream("httpserver.xml"));
         List<JettyHttpServer> servers = new JettyHttpServerFactory().createServers(configuration);
         assertThat(servers).extracting(JettyHttpServer::getConfiguration)
             .containsOnly(Configuration.builder()
@@ -63,26 +54,26 @@ public class JettyHttpServerFactoryTest {
 
     @Test
     public void shouldThrowOnEmptyServletName() throws Exception {
-        HierarchicalConfiguration configuration = loadConfiguration(ClassLoader.getSystemResourceAsStream("emptyservletname.xml"));
+        HierarchicalConfiguration configuration = FileConfigurationProvider.getConfig(ClassLoader.getSystemResourceAsStream("emptyservletname.xml"));
         assertThatThrownBy(() -> new JettyHttpServerFactory().createServers(configuration)).isInstanceOf(ConfigurationException.class);
     }
 
     @Test
     public void shouldThrowOnUnavailableServletName() throws Exception {
-        HierarchicalConfiguration configuration = loadConfiguration(ClassLoader.getSystemResourceAsStream("unavailableservletname.xml"));
+        HierarchicalConfiguration configuration = FileConfigurationProvider.getConfig(ClassLoader.getSystemResourceAsStream("unavailableservletname.xml"));
         assertThatThrownBy(() -> new JettyHttpServerFactory().createServers(configuration)).isInstanceOf(ConfigurationException.class);
     }
     
     @Test
     public void shouldThrowOnConflictingPortConfiguration() throws Exception {
-        HierarchicalConfiguration configuration = loadConfiguration(ClassLoader.getSystemResourceAsStream("conflictingport.xml"));
+        HierarchicalConfiguration configuration = FileConfigurationProvider.getConfig(ClassLoader.getSystemResourceAsStream("conflictingport.xml"));
         assertThatThrownBy(() -> new JettyHttpServerFactory().createServers(configuration)).isInstanceOf(ConfigurationException.class);
     }
     
     @SuppressWarnings("unchecked")
     @Test
     public void shouldBeAbleToLoadEmptyMappingConfiguration() throws Exception {
-        HierarchicalConfiguration configuration = loadConfiguration(ClassLoader.getSystemResourceAsStream("emptymappingconfiguration.xml"));
+        HierarchicalConfiguration configuration = FileConfigurationProvider.getConfig(ClassLoader.getSystemResourceAsStream("emptymappingconfiguration.xml"));
         assertThat(new JettyHttpServerFactory().createServers(configuration))
             .extracting(server -> server.getConfiguration().getMappings())
             .containsOnly(ImmutableMap.of());
@@ -90,13 +81,13 @@ public class JettyHttpServerFactoryTest {
 
     @Test
     public void shouldThrowOnEmptyFilterName() throws Exception {
-        HierarchicalConfiguration configuration = loadConfiguration(ClassLoader.getSystemResourceAsStream("emptyfiltername.xml"));
+        HierarchicalConfiguration configuration = FileConfigurationProvider.getConfig(ClassLoader.getSystemResourceAsStream("emptyfiltername.xml"));
         assertThatThrownBy(() -> new JettyHttpServerFactory().createServers(configuration)).isInstanceOf(ConfigurationException.class);
     }
 
     @Test
     public void shouldThrowOnUnavailableFilterName() throws Exception {
-        HierarchicalConfiguration configuration = loadConfiguration(ClassLoader.getSystemResourceAsStream("unavailablefiltername.xml"));
+        HierarchicalConfiguration configuration = FileConfigurationProvider.getConfig(ClassLoader.getSystemResourceAsStream("unavailablefiltername.xml"));
         assertThatThrownBy(() -> new JettyHttpServerFactory().createServers(configuration)).isInstanceOf(ConfigurationException.class);
     }
     
diff --git a/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/osgi/OSGIConfigurationProvider.java b/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/osgi/OSGIConfigurationProvider.java
index 65042fd..6249e3a 100644
--- a/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/osgi/OSGIConfigurationProvider.java
+++ b/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/osgi/OSGIConfigurationProvider.java
@@ -19,11 +19,11 @@
 package org.apache.james.container.spring.lifecycle.osgi;
 
 import java.io.FileInputStream;
-import java.io.FileNotFoundException;
+import java.io.IOException;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
-import org.apache.commons.configuration.XMLConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
+import org.apache.james.server.core.configuration.FileConfigurationProvider;
 
 public class OSGIConfigurationProvider implements org.apache.james.container.spring.lifecycle.ConfigurationProvider {
 
@@ -34,20 +34,11 @@ public class OSGIConfigurationProvider implements org.apache.james.container.spr
 
     @Override
     public HierarchicalConfiguration getConfiguration(String beanName) throws ConfigurationException {
-        XMLConfiguration config = new XMLConfiguration();
         FileInputStream fis = null;
-        config.setDelimiterParsingDisabled(true);
-        
-        // Don't split attributes which can have bad side-effects with matcher-conditions.
-        // See JAMES-1233
-        config.setAttributeSplittingDisabled(true);
-        
-        // Use InputStream so we are not bound to File implementations of the
-        // config
         try {
             fis = new FileInputStream("/tmp/" + beanName + ".xml");
-            config.load(fis);
-        } catch (FileNotFoundException e) {
+            return FileConfigurationProvider.getConfig(fis);
+        } catch (IOException e) {
             throw new ConfigurationException("Bean " + beanName);
         } finally {
             if (fis != null) {
@@ -58,8 +49,6 @@ public class OSGIConfigurationProvider implements org.apache.james.container.spr
                 }
             }
         }
-        
-        return config;
     }
 
 }
diff --git a/server/dns-service/dnsservice-dnsjava/pom.xml b/server/dns-service/dnsservice-dnsjava/pom.xml
index d3c10c8..83aa0e7 100644
--- a/server/dns-service/dnsservice-dnsjava/pom.xml
+++ b/server/dns-service/dnsservice-dnsjava/pom.xml
@@ -35,6 +35,11 @@
     <dependencies>
         <dependency>
             <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-core</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
             <artifactId>james-server-dnsservice-api</artifactId>
         </dependency>
         <dependency>
diff --git a/server/dns-service/dnsservice-dnsjava/src/test/java/org/apache/james/dnsservice/dnsjava/DNSJavaServiceTest.java b/server/dns-service/dnsservice-dnsjava/src/test/java/org/apache/james/dnsservice/dnsjava/DNSJavaServiceTest.java
index ce3f7eb..f95426c 100644
--- a/server/dns-service/dnsservice-dnsjava/src/test/java/org/apache/james/dnsservice/dnsjava/DNSJavaServiceTest.java
+++ b/server/dns-service/dnsservice-dnsjava/src/test/java/org/apache/james/dnsservice/dnsjava/DNSJavaServiceTest.java
@@ -31,8 +31,8 @@ import java.net.URL;
 import java.util.ArrayList;
 import java.util.Collection;
 
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
 import org.apache.james.metrics.api.NoopMetricFactory;
+import org.apache.james.server.core.configuration.FileConfigurationProvider;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -65,11 +65,8 @@ public class DNSJavaServiceTest {
     @Before
     public void setUp() throws Exception {
         dnsServer = new TestableDNSServer();
-        DefaultConfigurationBuilder db = new DefaultConfigurationBuilder();
 
-        db.load(new ByteArrayInputStream(DNS_SERVER_CONFIG));
-
-        dnsServer.configure(db);
+        dnsServer.configure(FileConfigurationProvider.getConfig(new ByteArrayInputStream(DNS_SERVER_CONFIG)));
         dnsServer.init();
 
         defaultCache = Lookup.getDefaultCache(DClass.IN);
diff --git a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/MailetConfigImplTest.java b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/MailetConfigImplTest.java
index cd3c012..1ad3c87 100644
--- a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/MailetConfigImplTest.java
+++ b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/MailetConfigImplTest.java
@@ -25,27 +25,38 @@ import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.commons.configuration2.XMLConfiguration;
+import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder;
+import org.apache.commons.configuration2.builder.fluent.Parameters;
+import org.apache.commons.configuration2.convert.DisabledListDelimiterHandler;
+import org.apache.commons.configuration2.ex.ConfigurationException;
+import org.apache.commons.configuration2.io.FileHandler;
 import org.junit.Before;
 import org.junit.Test;
 
 public class MailetConfigImplTest {
 
-    private DefaultConfigurationBuilder builder;
+    private XMLConfiguration xmlConfiguration;
+    private FileHandler fileHandler;
     private MailetConfigImpl config;
 
     @Before
     public void setUp() throws Exception {
-        builder = new DefaultConfigurationBuilder();
+        FileBasedConfigurationBuilder<XMLConfiguration> builder = new FileBasedConfigurationBuilder<>(XMLConfiguration.class)
+            .configure(new Parameters()
+                .xml()
+                .setListDelimiterHandler(new DisabledListDelimiterHandler()));
+        xmlConfiguration = builder.getConfiguration();
+        fileHandler = new FileHandler(xmlConfiguration);
+
         config = new MailetConfigImpl();
     }
 
     @Test
-    public void testDotParamsFromXML() throws ConfigurationException {
-        builder.load(new ByteArrayInputStream("<mailet><mail.debug>true</mail.debug></mailet>".getBytes()));
+    public void testDotParamsFromXML() throws Exception {
+        fileHandler.load(new ByteArrayInputStream("<mailet><mail.debug>true</mail.debug></mailet>".getBytes()));
 
-        config.setConfiguration(builder);
+        config.setConfiguration(xmlConfiguration);
 
         String param = config.getInitParameterNames().next();
         assertThat(param).isEqualTo("mail.debug");
@@ -54,9 +65,9 @@ public class MailetConfigImplTest {
 
     @Test
     public void testDotParamsFromConfig() throws ConfigurationException {
-        builder.addProperty("mail.debug", "true");
+        xmlConfiguration.addProperty("mail.debug", "true");
 
-        config.setConfiguration(builder);
+        config.setConfiguration(xmlConfiguration);
 
         String param = config.getInitParameterNames().next();
         assertThat(param).isEqualTo("mail.debug");
@@ -65,10 +76,10 @@ public class MailetConfigImplTest {
 
     // See JAMES-1232
     @Test
-    public void testParamWithComma() throws ConfigurationException {
-        builder.load(new ByteArrayInputStream("<mailet><whatever>value1,value2</whatever></mailet>".getBytes()));
+    public void testParamWithComma() throws Exception {
+        fileHandler.load(new ByteArrayInputStream("<mailet><whatever>value1,value2</whatever></mailet>".getBytes()));
 
-        config.setConfiguration(builder);
+        config.setConfiguration(xmlConfiguration);
 
         String param = config.getInitParameterNames().next();
         assertThat(param).isEqualTo("whatever");
@@ -76,12 +87,11 @@ public class MailetConfigImplTest {
     }
 
     @Test
-    public void testParamWithXmlSpace() throws ConfigurationException {
-        builder.setDelimiterParsingDisabled(true);
-        builder.load(new ByteArrayInputStream(
+    public void testParamWithXmlSpace() throws Exception {
+        fileHandler.load(new ByteArrayInputStream(
                 "<mailet><whatever xml:space=\"preserve\"> some text </whatever></mailet>".getBytes()));
 
-        config.setConfiguration(builder);
+        config.setConfiguration(xmlConfiguration);
 
         String param = config.getInitParameterNames().next();
         assertThat(param).isEqualTo("whatever");
diff --git a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/lib/AbstractStateCompositeProcessorTest.java b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/lib/AbstractStateCompositeProcessorTest.java
index 8b585fd..d4daaa4 100644
--- a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/lib/AbstractStateCompositeProcessorTest.java
+++ b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/lib/AbstractStateCompositeProcessorTest.java
@@ -22,17 +22,18 @@ import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Fail.fail;
 
 import java.io.ByteArrayInputStream;
+import java.io.IOException;
 import java.util.Arrays;
 import java.util.List;
 
 import javax.mail.MessagingException;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.mailetcontainer.api.MailProcessor;
 import org.apache.james.mailetcontainer.api.mock.MockMailProcessor;
 import org.apache.james.server.core.MailImpl;
+import org.apache.james.server.core.configuration.FileConfigurationProvider;
 import org.apache.mailet.Mail;
 import org.junit.Rule;
 import org.junit.Test;
@@ -54,7 +55,7 @@ public abstract class AbstractStateCompositeProcessorTest {
 
                     @Override
                     public void service(Mail mail) throws MessagingException {
-                        // check if the right processor was selected depending on the state
+                        // check if the right processor wasAbstractStateMailetProcessorTest selected depending on the state
                         assertThat(mail.getState()).isEqualTo(state);
                         super.service(mail);
                     }
@@ -132,20 +133,18 @@ public abstract class AbstractStateCompositeProcessorTest {
     }
     }
 
-    private HierarchicalConfiguration createConfig(List<String> states) throws ConfigurationException {
+    private HierarchicalConfiguration createConfig(List<String> states) throws ConfigurationException, IOException {
 
-    StringBuilder sb = new StringBuilder();
-    sb.append("<?xml version=\"1.0\"?>");
-    sb.append("<processors>");
-        for (String state : states) {
-            sb.append("<processor state=\"");
-            sb.append(state);
-            sb.append("\"/>");
-        }
-    sb.append("</processors>");
+        StringBuilder sb = new StringBuilder();
+        sb.append("<?xml version=\"1.0\"?>");
+        sb.append("<processors>");
+            for (String state : states) {
+                sb.append("<processor state=\"");
+                sb.append(state);
+                sb.append("\"/>");
+            }
+        sb.append("</processors>");
 
-    DefaultConfigurationBuilder builder = new DefaultConfigurationBuilder();
-    builder.load(new ByteArrayInputStream(sb.toString().getBytes()));
-    return builder;
+        return FileConfigurationProvider.getConfig(new ByteArrayInputStream(sb.toString().getBytes()));
     }
 }
diff --git a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/lib/AbstractStateMailetProcessorTest.java b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/lib/AbstractStateMailetProcessorTest.java
index eaaab6c..b68a6b1 100644
--- a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/lib/AbstractStateMailetProcessorTest.java
+++ b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/lib/AbstractStateMailetProcessorTest.java
@@ -27,9 +27,8 @@ import java.util.concurrent.CountDownLatch;
 import javax.mail.MessagingException;
 import javax.mail.internet.AddressException;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.MailAddress;
 import org.apache.james.mailetcontainer.api.mock.ExceptionThrowingMailet;
 import org.apache.james.mailetcontainer.api.mock.ExceptionThrowingMatcher;
@@ -37,6 +36,7 @@ import org.apache.james.mailetcontainer.api.mock.MockMailet;
 import org.apache.james.mailetcontainer.api.mock.MockMatcher;
 import org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor.MailetProcessorListener;
 import org.apache.james.server.core.MailImpl;
+import org.apache.james.server.core.configuration.FileConfigurationProvider;
 import org.apache.mailet.Mail;
 import org.apache.mailet.Mailet;
 import org.apache.mailet.Matcher;
@@ -59,9 +59,7 @@ public abstract class AbstractStateMailetProcessorTest {
 
         sb.append("</processor>");
 
-        DefaultConfigurationBuilder builder = new DefaultConfigurationBuilder();
-        builder.load(new ByteArrayInputStream(sb.toString().getBytes()));
-        return builder;
+        return FileConfigurationProvider.getConfig(new ByteArrayInputStream(sb.toString().getBytes()));
     }
 
     @Test


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[james-project] 03/16: JAMES-2855 default delimiter is set in PropertyProvider

Posted by bt...@apache.org.
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 f8fd4d9a63e25d255f6f736fe977ab233875184b
Author: Tran Tien Duc <dt...@linagora.com>
AuthorDate: Mon Aug 19 11:27:33 2019 +0700

    JAMES-2855 default delimiter is set in PropertyProvider
---
 .../init/configuration/ClusterConfiguration.java   |  4 +---
 .../init/CassandraConfigurationReadingTest.java    | 15 +++++++++----
 .../backends/es/ElasticSearchConfiguration.java    |  6 ++---
 .../es/ElasticSearchConfigurationTest.java         |  7 ++++--
 .../modules/mailbox/TikaConfigurationReader.java   |  4 +---
 .../org/apache/james/utils/PropertiesProvider.java | 26 +++++++++++++++++-----
 .../apache/james/utils/PropertiesProviderTest.java |  6 +++++
 .../configuration/src/test/resources/a.properties  |  3 ++-
 8 files changed, 49 insertions(+), 22 deletions(-)

diff --git a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/configuration/ClusterConfiguration.java b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/configuration/ClusterConfiguration.java
index 2db6f7e..5d832ca 100644
--- a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/configuration/ClusterConfiguration.java
+++ b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/configuration/ClusterConfiguration.java
@@ -25,8 +25,7 @@ import java.util.List;
 import java.util.Objects;
 import java.util.Optional;
 
-import org.apache.commons.configuration.AbstractConfiguration;
-import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration2.Configuration;
 import org.apache.james.backends.cassandra.init.ClusterBuilder;
 import org.apache.james.util.Host;
 
@@ -177,7 +176,6 @@ public class ClusterConfiguration {
     }
 
     public static ClusterConfiguration from(Configuration configuration) {
-        AbstractConfiguration.setDefaultListDelimiter(',');
         return ClusterConfiguration.builder()
             .hosts(listCassandraServers(configuration))
             .keyspace(Optional.ofNullable(configuration.getString(CASSANDRA_KEYSPACE, null)))
diff --git a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/init/CassandraConfigurationReadingTest.java b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/init/CassandraConfigurationReadingTest.java
index 860d0d7..7ae57c4 100644
--- a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/init/CassandraConfigurationReadingTest.java
+++ b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/init/CassandraConfigurationReadingTest.java
@@ -21,8 +21,11 @@ package org.apache.james.backends.cassandra.init;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.PropertiesConfiguration;
+import org.apache.commons.configuration2.FileBasedConfiguration;
+import org.apache.commons.configuration2.PropertiesConfiguration;
+import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder;
+import org.apache.commons.configuration2.builder.fluent.Parameters;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.backends.cassandra.init.configuration.CassandraConfiguration;
 import org.junit.Test;
 
@@ -37,8 +40,12 @@ public class CassandraConfigurationReadingTest {
 
     @Test
     public void provideCassandraConfigurationShouldReturnRightConfigurationFile() throws ConfigurationException {
-        CassandraConfiguration configuration = CassandraConfiguration.from(new PropertiesConfiguration(
-            ClassLoader.getSystemResource("cassandra.properties")));
+        FileBasedConfigurationBuilder<FileBasedConfiguration> builder = new FileBasedConfigurationBuilder<FileBasedConfiguration>(PropertiesConfiguration.class)
+            .configure(new Parameters()
+                .fileBased()
+                .setURL(ClassLoader.getSystemResource("cassandra.properties")));
+
+        CassandraConfiguration configuration = CassandraConfiguration.from(builder.getConfiguration());
 
         assertThat(configuration)
             .isEqualTo(CassandraConfiguration.builder()
diff --git a/backends-common/elasticsearch/src/main/java/org/apache/james/backends/es/ElasticSearchConfiguration.java b/backends-common/elasticsearch/src/main/java/org/apache/james/backends/es/ElasticSearchConfiguration.java
index 24635f5..0f21537 100644
--- a/backends-common/elasticsearch/src/main/java/org/apache/james/backends/es/ElasticSearchConfiguration.java
+++ b/backends-common/elasticsearch/src/main/java/org/apache/james/backends/es/ElasticSearchConfiguration.java
@@ -26,9 +26,8 @@ import java.util.List;
 import java.util.Objects;
 import java.util.Optional;
 
-import org.apache.commons.configuration.AbstractConfiguration;
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.util.Host;
 
 import com.github.steveash.guavate.Guavate;
@@ -143,7 +142,6 @@ public class ElasticSearchConfiguration {
     }
 
     private static ImmutableList<Host> getHosts(Configuration propertiesReader) throws ConfigurationException {
-        AbstractConfiguration.setDefaultListDelimiter(',');
         Optional<String> masterHost = Optional.ofNullable(
             propertiesReader.getString(ELASTICSEARCH_MASTER_HOST, null));
         Optional<Integer> masterPort = Optional.ofNullable(
diff --git a/backends-common/elasticsearch/src/test/java/org/apache/james/backends/es/ElasticSearchConfigurationTest.java b/backends-common/elasticsearch/src/test/java/org/apache/james/backends/es/ElasticSearchConfigurationTest.java
index 18167a1..366c0cc 100644
--- a/backends-common/elasticsearch/src/test/java/org/apache/james/backends/es/ElasticSearchConfigurationTest.java
+++ b/backends-common/elasticsearch/src/test/java/org/apache/james/backends/es/ElasticSearchConfigurationTest.java
@@ -24,12 +24,14 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 import java.util.Optional;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.PropertiesConfiguration;
+import org.apache.commons.configuration2.PropertiesConfiguration;
+import org.apache.commons.configuration2.convert.DefaultListDelimiterHandler;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.util.Host;
 import org.junit.Test;
 
 import com.google.common.collect.ImmutableList;
+
 import nl.jqno.equalsverifier.EqualsVerifier;
 
 public class ElasticSearchConfigurationTest {
@@ -154,6 +156,7 @@ public class ElasticSearchConfigurationTest {
         String hostname2 = "myOtherHost";
         int port = 2154;
         PropertiesConfiguration configuration = new PropertiesConfiguration();
+        configuration.setListDelimiterHandler(new DefaultListDelimiterHandler(','));
         configuration.addProperty("elasticsearch.hosts", hostname + "," + hostname2 + ":" + port);
 
         ElasticSearchConfiguration elasticSearchConfiguration = ElasticSearchConfiguration.fromProperties(configuration);
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/TikaConfigurationReader.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/TikaConfigurationReader.java
index 68763ec..ae7bc0e 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/TikaConfigurationReader.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/TikaConfigurationReader.java
@@ -24,8 +24,7 @@ import java.time.temporal.ChronoUnit;
 import java.util.Optional;
 import java.util.Set;
 
-import org.apache.commons.configuration.AbstractConfiguration;
-import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration2.Configuration;
 import org.apache.james.mailbox.tika.TikaConfiguration;
 import org.apache.james.util.DurationParser;
 import org.apache.james.util.Size;
@@ -45,7 +44,6 @@ public class TikaConfigurationReader {
     public static final String TIKA_CONTENT_TYPE_BLACKLIST = "tika.contentType.blacklist";
 
     public static TikaConfiguration readTikaConfiguration(Configuration configuration) {
-        AbstractConfiguration.setDefaultListDelimiter(',');
         Optional<Boolean> enabled = Optional.ofNullable(
             configuration.getBoolean(TIKA_ENABLED, null));
 
diff --git a/server/container/guice/configuration/src/main/java/org/apache/james/utils/PropertiesProvider.java b/server/container/guice/configuration/src/main/java/org/apache/james/utils/PropertiesProvider.java
index c474a87..c9fd564 100644
--- a/server/container/guice/configuration/src/main/java/org/apache/james/utils/PropertiesProvider.java
+++ b/server/container/guice/configuration/src/main/java/org/apache/james/utils/PropertiesProvider.java
@@ -26,9 +26,13 @@ import java.util.Optional;
 
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.PropertiesConfiguration;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.FileBasedConfiguration;
+import org.apache.commons.configuration2.PropertiesConfiguration;
+import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder;
+import org.apache.commons.configuration2.builder.fluent.Parameters;
+import org.apache.commons.configuration2.convert.DefaultListDelimiterHandler;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.filesystem.api.FileSystem;
 import org.apache.james.util.OptionalUtils;
 
@@ -38,6 +42,8 @@ import com.google.common.base.Strings;
 
 public class PropertiesProvider {
 
+    private static final char COMMA = ',';
+
     private final FileSystem fileSystem;
     private final String configurationPrefix;
 
@@ -54,7 +60,7 @@ public class PropertiesProvider {
             .findFirst()
             .orElseThrow(() -> new FileNotFoundException(Joiner.on(",").join(filenames) + " not found"));
 
-        return new PropertiesConfiguration(file);
+        return getConfiguration(file);
     }
 
     public Configuration getConfiguration(String fileName) throws FileNotFoundException, ConfigurationException {
@@ -63,7 +69,17 @@ public class PropertiesProvider {
         File file = getConfigurationFile(fileName)
             .orElseThrow(() -> new FileNotFoundException(fileName));
 
-        return new PropertiesConfiguration(file);
+        return getConfiguration(file);
+    }
+
+    private Configuration getConfiguration(File propertiesFile) throws ConfigurationException {
+        FileBasedConfigurationBuilder<FileBasedConfiguration> builder = new FileBasedConfigurationBuilder<FileBasedConfiguration>(PropertiesConfiguration.class)
+            .configure(new Parameters()
+                .fileBased()
+                .setListDelimiterHandler(new DefaultListDelimiterHandler(COMMA))
+                .setFile(propertiesFile));
+
+        return builder.getConfiguration();
     }
 
     private Optional<File> getConfigurationFile(String fileName) {
diff --git a/server/container/guice/configuration/src/test/java/org/apache/james/utils/PropertiesProviderTest.java b/server/container/guice/configuration/src/test/java/org/apache/james/utils/PropertiesProviderTest.java
index 9bfdcc4..bbda6a3 100644
--- a/server/container/guice/configuration/src/test/java/org/apache/james/utils/PropertiesProviderTest.java
+++ b/server/container/guice/configuration/src/test/java/org/apache/james/utils/PropertiesProviderTest.java
@@ -77,4 +77,10 @@ class PropertiesProviderTest {
         assertThat(testee.getConfiguration("a").getString("prop"))
             .isEqualTo("value1");
     }
+
+    @Test
+    void getConfigurationShouldLoadListValues() throws Exception {
+        assertThat(testee.getConfiguration("a").getList(String.class, "keyByList"))
+            .containsExactly("value1", "value2");
+    }
 }
\ No newline at end of file
diff --git a/server/container/guice/configuration/src/test/resources/a.properties b/server/container/guice/configuration/src/test/resources/a.properties
index 452d1aa..43e4d04 100644
--- a/server/container/guice/configuration/src/test/resources/a.properties
+++ b/server/container/guice/configuration/src/test/resources/a.properties
@@ -1 +1,2 @@
-prop=value1
\ No newline at end of file
+prop=value1
+keyByList=value1, value2
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[james-project] 15/16: JAMES-2829 UnionBlobStore should pass the whole test suite

Posted by bt...@apache.org.
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 8ddf4c9c7e9f020848aa763178a50cdcab3c6bc9
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Fri Aug 2 18:06:52 2019 +0200

    JAMES-2829 UnionBlobStore should pass the whole test suite
---
 .../src/test/java/org/apache/james/blob/union/UnionBlobStoreTest.java | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/server/blob/blob-union/src/test/java/org/apache/james/blob/union/UnionBlobStoreTest.java b/server/blob/blob-union/src/test/java/org/apache/james/blob/union/UnionBlobStoreTest.java
index e981edf..598f44b 100644
--- a/server/blob/blob-union/src/test/java/org/apache/james/blob/union/UnionBlobStoreTest.java
+++ b/server/blob/blob-union/src/test/java/org/apache/james/blob/union/UnionBlobStoreTest.java
@@ -33,7 +33,9 @@ import java.util.stream.Stream;
 import org.apache.james.blob.api.BlobId;
 import org.apache.james.blob.api.BlobStore;
 import org.apache.james.blob.api.BlobStoreContract;
+import org.apache.james.blob.api.BucketBlobStoreContract;
 import org.apache.james.blob.api.BucketName;
+import org.apache.james.blob.api.DeleteBlobStoreContract;
 import org.apache.james.blob.api.HashBlobId;
 import org.apache.james.blob.api.ObjectStoreException;
 import org.apache.james.blob.memory.MemoryBlobStore;
@@ -52,7 +54,7 @@ import com.google.common.collect.ImmutableList;
 
 import reactor.core.publisher.Mono;
 
-class UnionBlobStoreTest implements BlobStoreContract {
+class UnionBlobStoreTest implements BlobStoreContract, DeleteBlobStoreContract, BucketBlobStoreContract {
 
     private static class FailingBlobStore implements BlobStore {
 


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[james-project] 14/16: JAMES-2813 Add missing licenses

Posted by bt...@apache.org.
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 7cdfff1c7902e47c5fd59c73e5dfd52b2eb5b468
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Sun Aug 11 04:34:51 2019 +0200

    JAMES-2813 Add missing licenses
---
 json/src/main/java/org/apache/james/json/DTO.java     | 19 +++++++++++++++++++
 json/src/test/java/org/apache/dto/BaseType.java       | 19 +++++++++++++++++++
 .../apache/james/server/task/json/dto/TaskDTO.java    | 19 +++++++++++++++++++
 .../org/apache/james/task/TaskManagerContract.java    | 19 +++++++++++++++++++
 4 files changed, 76 insertions(+)

diff --git a/json/src/main/java/org/apache/james/json/DTO.java b/json/src/main/java/org/apache/james/json/DTO.java
index 1984716..2e0fbdb 100644
--- a/json/src/main/java/org/apache/james/json/DTO.java
+++ b/json/src/main/java/org/apache/james/json/DTO.java
@@ -1,3 +1,22 @@
+/****************************************************************
+ * 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.json;
 
 public interface DTO {
diff --git a/json/src/test/java/org/apache/dto/BaseType.java b/json/src/test/java/org/apache/dto/BaseType.java
index e2eb2e7..b277f3c 100644
--- a/json/src/test/java/org/apache/dto/BaseType.java
+++ b/json/src/test/java/org/apache/dto/BaseType.java
@@ -1,3 +1,22 @@
+/****************************************************************
+ * 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.dto;
 
 public interface BaseType {
diff --git a/server/task-json/src/main/java/org/apache/james/server/task/json/dto/TaskDTO.java b/server/task-json/src/main/java/org/apache/james/server/task/json/dto/TaskDTO.java
index 2217abd..881a2b8 100644
--- a/server/task-json/src/main/java/org/apache/james/server/task/json/dto/TaskDTO.java
+++ b/server/task-json/src/main/java/org/apache/james/server/task/json/dto/TaskDTO.java
@@ -1,3 +1,22 @@
+/****************************************************************
+ * 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.server.task.json.dto;
 
 import org.apache.james.json.DTO;
diff --git a/server/task/src/test/java/org/apache/james/task/TaskManagerContract.java b/server/task/src/test/java/org/apache/james/task/TaskManagerContract.java
index 3b5c5f8..dfc4ff1 100644
--- a/server/task/src/test/java/org/apache/james/task/TaskManagerContract.java
+++ b/server/task/src/test/java/org/apache/james/task/TaskManagerContract.java
@@ -1,3 +1,22 @@
+/****************************************************************
+ * 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.task;
 
 import static org.assertj.core.api.Assertions.assertThat;


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[james-project] 11/16: JAMES-2854 ConfigurationPerformer::initModule should be able to throw Exception

Posted by bt...@apache.org.
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 3e78217ecb85969b86bca8f3e80a4e2181169dc3
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Sat Aug 10 12:50:14 2019 +0200

    JAMES-2854 ConfigurationPerformer::initModule should be able to throw Exception
    
     - Avoid unnecessary exception forwarding hurting exception readability
     - This is our "most common" use case, and leveraging it correctly saves lines of code
---
 .../modules/data/CassandraDomainListModule.java    |  8 ++------
 .../data/CassandraRecipientRewriteTableModule.java |  9 ++------
 .../data/CassandraUsersRepositoryModule.java       |  9 ++------
 .../mailbox/ElasticSearchMailboxModule.java        |  8 ++------
 .../mailbox/ElasticSearchQuotaSearcherModule.java  |  9 ++------
 .../james/data/LdapUsersRepositoryModule.java      | 12 +++--------
 .../apache/james/utils/ConfigurationPerformer.java |  2 +-
 .../james/modules/server/DNSServiceModule.java     | 11 +++-------
 .../modules/server/MailStoreRepositoryModule.java  |  8 ++------
 .../james/utils/ConfigurationsPerformer.java       |  6 +++---
 .../james/modules/server/JMXServerModule.java      | 24 +++++++++-------------
 .../james/modules/data/JPADomainListModule.java    |  8 ++------
 .../data/JPARecipientRewriteTableModule.java       |  9 ++------
 .../modules/data/JPAUsersRepositoryModule.java     |  9 ++------
 .../modules/server/CamelMailetContainerModule.java | 18 +++++-----------
 .../james/modules/data/MemoryDataModule.java       | 16 ++++-----------
 .../james/modules/protocols/IMAPServerModule.java  | 10 +++------
 .../james/modules/protocols/JMAPServerModule.java  | 14 +++++--------
 .../james/modules/protocols/LMTPServerModule.java  | 10 +++------
 .../modules/protocols/ManageSieveServerModule.java | 10 +++------
 .../james/modules/protocols/POP3ServerModule.java  | 10 +++------
 .../james/modules/protocols/SMTPServerModule.java  |  6 +-----
 22 files changed, 65 insertions(+), 161 deletions(-)

diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDomainListModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDomainListModule.java
index 6baa548..cf4769d 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDomainListModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDomainListModule.java
@@ -66,12 +66,8 @@ public class CassandraDomainListModule extends AbstractModule {
         }
 
         @Override
-        public void initModule() {
-            try {
-                cassandraDomainList.configure(configuration);
-            } catch (ConfigurationException e) {
-                throw new RuntimeException(e);
-            }
+        public void initModule() throws Exception {
+            cassandraDomainList.configure(configuration);
         }
 
         @Override
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraRecipientRewriteTableModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraRecipientRewriteTableModule.java
index e6634d8..469e5d9 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraRecipientRewriteTableModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraRecipientRewriteTableModule.java
@@ -18,7 +18,6 @@
  ****************************************************************/
 package org.apache.james.modules.data;
 
-import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.backends.cassandra.components.CassandraModule;
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.rrt.api.RecipientRewriteTable;
@@ -60,12 +59,8 @@ public class CassandraRecipientRewriteTableModule extends AbstractModule {
         }
 
         @Override
-        public void initModule() {
-            try {
-                recipientRewriteTable.configure(configurationProvider.getConfiguration("recipientrewritetable"));
-            } catch (ConfigurationException e) {
-                throw new RuntimeException(e);
-            }
+        public void initModule() throws Exception {
+            recipientRewriteTable.configure(configurationProvider.getConfiguration("recipientrewritetable"));
         }
 
         @Override
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraUsersRepositoryModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraUsersRepositoryModule.java
index dd2a488..5daa4af 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraUsersRepositoryModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraUsersRepositoryModule.java
@@ -18,7 +18,6 @@
  ****************************************************************/
 package org.apache.james.modules.data;
 
-import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.backends.cassandra.components.CassandraModule;
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
@@ -56,12 +55,8 @@ public class CassandraUsersRepositoryModule extends AbstractModule {
         }
 
         @Override
-        public void initModule() {
-            try {
-                usersRepository.configure(configurationProvider.getConfiguration("usersrepository"));
-            } catch (ConfigurationException e) {
-                throw new RuntimeException(e);
-            }
+        public void initModule() throws Exception {
+            usersRepository.configure(configurationProvider.getConfiguration("usersrepository"));
         }
 
         @Override
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java
index 83358fd..252f3c0 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java
@@ -92,12 +92,8 @@ public class ElasticSearchMailboxModule extends AbstractModule {
         }
 
         @Override
-        public void initModule() {
-            try {
-                mailboxIndexCreator.createIndex();
-            } catch (IOException e) {
-                throw new RuntimeException(e);
-            }
+        public void initModule()  throws Exception {
+            mailboxIndexCreator.createIndex();
         }
 
         @Override
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchQuotaSearcherModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchQuotaSearcherModule.java
index b21e73d..99c7c76 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchQuotaSearcherModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchQuotaSearcherModule.java
@@ -75,7 +75,6 @@ public class ElasticSearchQuotaSearcherModule extends AbstractModule {
     }
 
     static class ElasticSearchQuotaIndexCreationPerformer implements ConfigurationPerformer {
-
         private final ElasticSearchQuotaIndexCreator indexCreator;
 
         @Inject
@@ -84,12 +83,8 @@ public class ElasticSearchQuotaSearcherModule extends AbstractModule {
         }
 
         @Override
-        public void initModule() {
-            try {
-                indexCreator.createIndex();
-            } catch (IOException e) {
-                throw new RuntimeException(e);
-            }
+        public void initModule() throws Exception {
+            indexCreator.createIndex();
         }
 
         @Override
diff --git a/server/container/guice/cassandra-ldap-guice/src/main/java/org/apache/james/data/LdapUsersRepositoryModule.java b/server/container/guice/cassandra-ldap-guice/src/main/java/org/apache/james/data/LdapUsersRepositoryModule.java
index 6f6a0cd..409d729 100644
--- a/server/container/guice/cassandra-ldap-guice/src/main/java/org/apache/james/data/LdapUsersRepositoryModule.java
+++ b/server/container/guice/cassandra-ldap-guice/src/main/java/org/apache/james/data/LdapUsersRepositoryModule.java
@@ -52,7 +52,6 @@ public class LdapUsersRepositoryModule extends AbstractModule {
 
     @Singleton
     public static class LdapUsersRepositoryConfigurationPerformer implements ConfigurationPerformer {
-
         private final LdapRepositoryConfiguration configuration;
         private final ReadOnlyUsersLDAPRepository usersRepository;
 
@@ -63,13 +62,9 @@ public class LdapUsersRepositoryModule extends AbstractModule {
         }
 
         @Override
-        public void initModule() {
-            try {
-                usersRepository.configure(configuration);
-                usersRepository.init();
-            } catch (Exception e) {
-                throw new RuntimeException(e);
-            }
+        public void initModule() throws Exception {
+            usersRepository.configure(configuration);
+            usersRepository.init();
         }
 
         @Override
@@ -77,5 +72,4 @@ public class LdapUsersRepositoryModule extends AbstractModule {
             return ReadOnlyUsersLDAPRepository.class;
         }
     }
-
 }
diff --git a/server/container/guice/configuration/src/main/java/org/apache/james/utils/ConfigurationPerformer.java b/server/container/guice/configuration/src/main/java/org/apache/james/utils/ConfigurationPerformer.java
index 9ac4cb3..19930c2 100644
--- a/server/container/guice/configuration/src/main/java/org/apache/james/utils/ConfigurationPerformer.java
+++ b/server/container/guice/configuration/src/main/java/org/apache/james/utils/ConfigurationPerformer.java
@@ -23,7 +23,7 @@ import org.apache.james.lifecycle.api.Startable;
 
 public interface ConfigurationPerformer {
 
-    void initModule();
+    void initModule() throws Exception;
 
     /**
      * In order to initialize components in the right order, every
diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/DNSServiceModule.java b/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/DNSServiceModule.java
index 7fb7a68..563b208 100644
--- a/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/DNSServiceModule.java
+++ b/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/DNSServiceModule.java
@@ -41,7 +41,6 @@ public class DNSServiceModule extends AbstractModule {
 
     @Singleton
     public static class DNSServiceConfigurationPerformer implements ConfigurationPerformer {
-
         private final ConfigurationProvider configurationProvider;
         private final DNSJavaService dnsService;
 
@@ -53,13 +52,9 @@ public class DNSServiceModule extends AbstractModule {
         }
 
         @Override
-        public void initModule() {
-            try {
-                dnsService.configure(configurationProvider.getConfiguration("dnsservice"));
-                dnsService.init();
-            } catch (Exception e) {
-                throw new RuntimeException(e);
-            }
+        public void initModule()  throws Exception {
+            dnsService.configure(configurationProvider.getConfiguration("dnsservice"));
+            dnsService.init();
         }
 
         @Override
diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java b/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java
index 3172285..891b3ea 100644
--- a/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java
+++ b/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java
@@ -82,12 +82,8 @@ public class MailStoreRepositoryModule extends AbstractModule {
         }
 
         @Override
-        public void initModule() {
-            try {
-                javaMailRepositoryStore.init();
-            } catch (Exception e) {
-                throw new RuntimeException(e);
-            }
+        public void initModule() throws Exception {
+            javaMailRepositoryStore.init();
         }
 
         @Override
diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/utils/ConfigurationsPerformer.java b/server/container/guice/guice-common/src/main/java/org/apache/james/utils/ConfigurationsPerformer.java
index 166eda7..227f5f7 100644
--- a/server/container/guice/guice-common/src/main/java/org/apache/james/utils/ConfigurationsPerformer.java
+++ b/server/container/guice/guice-common/src/main/java/org/apache/james/utils/ConfigurationsPerformer.java
@@ -25,6 +25,7 @@ import java.util.stream.Stream;
 
 import org.apache.james.lifecycle.api.Startable;
 
+import com.github.fge.lambdas.Throwing;
 import com.google.inject.Inject;
 
 public class ConfigurationsPerformer {
@@ -39,7 +40,6 @@ public class ConfigurationsPerformer {
     }
 
     public void initModules() throws Exception {
-        
         Set<ConfigurationPerformer> processed = processConfigurables();
         
         processOthers(processed);
@@ -49,7 +49,7 @@ public class ConfigurationsPerformer {
         return configurables.get().stream()
             .flatMap(this::configurationPerformerFor)
             .distinct()
-            .peek(ConfigurationPerformer::initModule)
+            .peek(Throwing.consumer(ConfigurationPerformer::initModule).sneakyThrow())
             .collect(Collectors.toSet());
     }
 
@@ -61,6 +61,6 @@ public class ConfigurationsPerformer {
     private void processOthers(Set<ConfigurationPerformer> processed) {
         configurationPerformers.stream()
             .filter(x -> !processed.contains(x))
-            .forEach(ConfigurationPerformer::initModule);
+            .forEach(Throwing.consumer(ConfigurationPerformer::initModule).sneakyThrow());
     }
 }
diff --git a/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JMXServerModule.java b/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JMXServerModule.java
index ea1f9a5..e6b1c14 100644
--- a/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JMXServerModule.java
+++ b/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JMXServerModule.java
@@ -146,20 +146,16 @@ public class JMXServerModule extends AbstractModule {
         }
 
         @Override
-        public void initModule() {
-            try {
-                jmxServer.start();
-                jmxServer.register(JMX_COMPONENT_DOMAINLIST, domainListManagementMBean);
-                jmxServer.register(JMX_COMPONENT_USERS_REPOSITORY, usersRepositoryManagementMBean);
-                jmxServer.register(JMX_COMPONENT_RECIPIENTREWRITETABLE, recipientRewriteTableManagementMBean);
-                jmxServer.register(JMX_COMPONENT_NAME_MAILBOXMANAGERBEAN, mailboxManagerManagementMBean);
-                jmxServer.register(JMX_COMPONENT_MAILBOXCOPIER, mailboxCopierManagementMBean);
-                jmxServer.register(JMX_COMPONENT_REINDEXER, reIndexerManagementMBean);
-                jmxServer.register(JMX_COMPONENT_QUOTA, quotaManagementMBean);
-                jmxServer.register(JMX_COMPONENT_SIEVE, sieveRepositoryManagementMBean);
-            } catch (Exception e) {
-                throw new RuntimeException(e);
-            }
+        public void initModule() throws Exception {
+            jmxServer.start();
+            jmxServer.register(JMX_COMPONENT_DOMAINLIST, domainListManagementMBean);
+            jmxServer.register(JMX_COMPONENT_USERS_REPOSITORY, usersRepositoryManagementMBean);
+            jmxServer.register(JMX_COMPONENT_RECIPIENTREWRITETABLE, recipientRewriteTableManagementMBean);
+            jmxServer.register(JMX_COMPONENT_NAME_MAILBOXMANAGERBEAN, mailboxManagerManagementMBean);
+            jmxServer.register(JMX_COMPONENT_MAILBOXCOPIER, mailboxCopierManagementMBean);
+            jmxServer.register(JMX_COMPONENT_REINDEXER, reIndexerManagementMBean);
+            jmxServer.register(JMX_COMPONENT_QUOTA, quotaManagementMBean);
+            jmxServer.register(JMX_COMPONENT_SIEVE, sieveRepositoryManagementMBean);
         }
 
         @Override
diff --git a/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPADomainListModule.java b/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPADomainListModule.java
index 85a2adc..970d182 100644
--- a/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPADomainListModule.java
+++ b/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPADomainListModule.java
@@ -64,12 +64,8 @@ public class JPADomainListModule extends AbstractModule {
         }
 
         @Override
-        public void initModule() {
-            try {
-                jpaDomainList.configure(configuration);
-            } catch (ConfigurationException e) {
-                throw new RuntimeException(e);
-            }
+        public void initModule() throws Exception {
+            jpaDomainList.configure(configuration);
         }
 
         @Override
diff --git a/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPARecipientRewriteTableModule.java b/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPARecipientRewriteTableModule.java
index b9702e2..ea39108 100644
--- a/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPARecipientRewriteTableModule.java
+++ b/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPARecipientRewriteTableModule.java
@@ -18,7 +18,6 @@
  ****************************************************************/
 package org.apache.james.modules.data;
 
-import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.rrt.api.RecipientRewriteTable;
 import org.apache.james.rrt.jpa.JPARecipientRewriteTable;
@@ -52,12 +51,8 @@ public class JPARecipientRewriteTableModule extends AbstractModule {
         }
 
         @Override
-        public void initModule() {
-            try {
-                recipientRewriteTable.configure(configurationProvider.getConfiguration("recipientrewritetable"));
-            } catch (ConfigurationException e) {
-                throw new RuntimeException(e);
-            }
+        public void initModule() throws Exception {
+            recipientRewriteTable.configure(configurationProvider.getConfiguration("recipientrewritetable"));
         }
 
         @Override
diff --git a/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPAUsersRepositoryModule.java b/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPAUsersRepositoryModule.java
index 69a0675..9ab96da 100644
--- a/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPAUsersRepositoryModule.java
+++ b/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPAUsersRepositoryModule.java
@@ -18,7 +18,6 @@
  ****************************************************************/
 package org.apache.james.modules.data;
 
-import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
 import org.apache.james.user.api.UsersRepository;
@@ -52,12 +51,8 @@ public class JPAUsersRepositoryModule extends AbstractModule {
         }
 
         @Override
-        public void initModule() {
-            try {
-                usersRepository.configure(configurationProvider.getConfiguration("usersrepository"));
-            } catch (ConfigurationException e) {
-                throw new RuntimeException(e);
-            }
+        public void initModule() throws Exception {
+            usersRepository.configure(configurationProvider.getConfiguration("usersrepository"));
         }
 
         @Override
diff --git a/server/container/guice/mailet/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java b/server/container/guice/mailet/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java
index 748cc22..d3f075b 100644
--- a/server/container/guice/mailet/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java
+++ b/server/container/guice/mailet/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java
@@ -154,12 +154,8 @@ public class CamelMailetContainerModule extends AbstractModule {
         }
 
         @Override
-        public void initModule() {
-            try {
-                mailetContext.configure(getMailetContextConfiguration());
-            } catch (ConfigurationException e) {
-                throw new RuntimeException(e);
-            }
+        public void initModule() throws Exception {
+            mailetContext.configure(getMailetContextConfiguration());
         }
 
         private HierarchicalConfiguration getMailetContextConfiguration() {
@@ -199,13 +195,9 @@ public class CamelMailetContainerModule extends AbstractModule {
         }
 
         @Override
-        public void initModule() {
-            try {
-                configureProcessors(camelContext);
-                checkProcessors();
-            } catch (Exception e) {
-                throw new RuntimeException(e);
-            }
+        public void initModule() throws Exception {
+            configureProcessors(camelContext);
+            checkProcessors();
         }
 
         private void configureProcessors(DefaultCamelContext camelContext) throws Exception {
diff --git a/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/data/MemoryDataModule.java b/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/data/MemoryDataModule.java
index f4c7666..f47f983 100644
--- a/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/data/MemoryDataModule.java
+++ b/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/data/MemoryDataModule.java
@@ -110,12 +110,8 @@ public class MemoryDataModule extends AbstractModule {
         }
 
         @Override
-        public void initModule() {
-            try {
-                memoryDomainList.configure(domainListConfiguration);
-            } catch (ConfigurationException e) {
-                throw new RuntimeException(e);
-            }
+        public void initModule() throws Exception {
+            memoryDomainList.configure(domainListConfiguration);
         }
 
         @Override
@@ -136,12 +132,8 @@ public class MemoryDataModule extends AbstractModule {
         }
 
         @Override
-        public void initModule() {
-            try {
-                memoryRecipientRewriteTable.configure(configurationProvider.getConfiguration("recipientrewritetable"));
-            } catch (ConfigurationException e) {
-                throw new RuntimeException(e);
-            }
+        public void initModule() throws Exception {
+            memoryRecipientRewriteTable.configure(configurationProvider.getConfiguration("recipientrewritetable"));
         }
 
         @Override
diff --git a/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java b/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java
index 8af4fba..2f14973 100644
--- a/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java
+++ b/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java
@@ -98,13 +98,9 @@ public class IMAPServerModule extends AbstractModule {
         }
 
         @Override
-        public void initModule()  {
-            try {
-                imapServerFactory.configure(configurationProvider.getConfiguration("imapserver"));
-                imapServerFactory.init();
-            } catch (Exception e) {
-                throw new RuntimeException(e);
-            }
+        public void initModule() throws Exception {
+            imapServerFactory.configure(configurationProvider.getConfiguration("imapserver"));
+            imapServerFactory.init();
         }
 
         @Override
diff --git a/server/container/guice/protocols/jmap/src/main/java/org/apache/james/modules/protocols/JMAPServerModule.java b/server/container/guice/protocols/jmap/src/main/java/org/apache/james/modules/protocols/JMAPServerModule.java
index c57c87b..88f9767 100644
--- a/server/container/guice/protocols/jmap/src/main/java/org/apache/james/modules/protocols/JMAPServerModule.java
+++ b/server/container/guice/protocols/jmap/src/main/java/org/apache/james/modules/protocols/JMAPServerModule.java
@@ -61,15 +61,11 @@ public class JMAPServerModule extends AbstractModule {
         }
 
         @Override
-        public void initModule() {
-            try {
-                if (jmapConfiguration.isEnabled()) {
-                    signatureHandler.init();
-                    server.start();
-                    registerPEMWithSecurityProvider();
-                }
-            } catch (Exception e) {
-                throw new RuntimeException(e);
+        public void initModule() throws Exception {
+            if (jmapConfiguration.isEnabled()) {
+                signatureHandler.init();
+                server.start();
+                registerPEMWithSecurityProvider();
             }
         }
 
diff --git a/server/container/guice/protocols/lmtp/src/main/java/org/apache/james/modules/protocols/LMTPServerModule.java b/server/container/guice/protocols/lmtp/src/main/java/org/apache/james/modules/protocols/LMTPServerModule.java
index 8fb9624..7426bde 100644
--- a/server/container/guice/protocols/lmtp/src/main/java/org/apache/james/modules/protocols/LMTPServerModule.java
+++ b/server/container/guice/protocols/lmtp/src/main/java/org/apache/james/modules/protocols/LMTPServerModule.java
@@ -57,13 +57,9 @@ public class LMTPServerModule extends AbstractModule {
         }
 
         @Override
-        public void initModule() {
-            try {
-                lmtpServerFactory.configure(configurationProvider.getConfiguration("lmtpserver", LoggingLevel.INFO));
-                lmtpServerFactory.init();
-            } catch (Exception e) {
-                throw new RuntimeException(e);
-            }
+        public void initModule() throws Exception {
+            lmtpServerFactory.configure(configurationProvider.getConfiguration("lmtpserver", LoggingLevel.INFO));
+            lmtpServerFactory.init();
         }
 
         @Override
diff --git a/server/container/guice/protocols/managedsieve/src/main/java/org/apache/james/modules/protocols/ManageSieveServerModule.java b/server/container/guice/protocols/managedsieve/src/main/java/org/apache/james/modules/protocols/ManageSieveServerModule.java
index 2c89f94..228ed85 100644
--- a/server/container/guice/protocols/managedsieve/src/main/java/org/apache/james/modules/protocols/ManageSieveServerModule.java
+++ b/server/container/guice/protocols/managedsieve/src/main/java/org/apache/james/modules/protocols/ManageSieveServerModule.java
@@ -53,13 +53,9 @@ public class ManageSieveServerModule extends AbstractModule {
         }
 
         @Override
-        public void initModule() {
-            try {
-                manageSieveServerFactory.configure(configurationProvider.getConfiguration("managesieveserver", LoggingLevel.INFO));
-                manageSieveServerFactory.init();
-            } catch (Exception e) {
-                throw new RuntimeException(e);
-            }
+        public void initModule() throws Exception {
+            manageSieveServerFactory.configure(configurationProvider.getConfiguration("managesieveserver", LoggingLevel.INFO));
+            manageSieveServerFactory.init();
         }
 
         @Override
diff --git a/server/container/guice/protocols/pop/src/main/java/org/apache/james/modules/protocols/POP3ServerModule.java b/server/container/guice/protocols/pop/src/main/java/org/apache/james/modules/protocols/POP3ServerModule.java
index 592e740..3c1c2b1 100644
--- a/server/container/guice/protocols/pop/src/main/java/org/apache/james/modules/protocols/POP3ServerModule.java
+++ b/server/container/guice/protocols/pop/src/main/java/org/apache/james/modules/protocols/POP3ServerModule.java
@@ -55,13 +55,9 @@ public class POP3ServerModule extends AbstractModule {
         }
 
         @Override
-        public void initModule() {
-            try {
-                pop3ServerFactory.configure(configurationProvider.getConfiguration("pop3server"));
-                pop3ServerFactory.init();
-            } catch (Exception e) {
-                throw new RuntimeException(e);
-            }
+        public void initModule() throws Exception {
+            pop3ServerFactory.configure(configurationProvider.getConfiguration("pop3server"));
+            pop3ServerFactory.init();
         }
 
         @Override
diff --git a/server/container/guice/protocols/smtp/src/main/java/org/apache/james/modules/protocols/SMTPServerModule.java b/server/container/guice/protocols/smtp/src/main/java/org/apache/james/modules/protocols/SMTPServerModule.java
index 0cc441f..3a9438f 100644
--- a/server/container/guice/protocols/smtp/src/main/java/org/apache/james/modules/protocols/SMTPServerModule.java
+++ b/server/container/guice/protocols/smtp/src/main/java/org/apache/james/modules/protocols/SMTPServerModule.java
@@ -62,14 +62,10 @@ public class SMTPServerModule extends AbstractModule {
         }
 
         @Override
-        public void initModule() {
-            try {
+        public void initModule() throws Exception {
                 smtpServerFactory.configure(configurationProvider.getConfiguration("smtpserver"));
                 smtpServerFactory.init();
                 sendMailHandler.init(null);
-            } catch (Exception e) {
-                throw new RuntimeException(e);
-            }
         }
 
         @Override


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[james-project] 04/16: JAMES-2855 DefaultConfigurationBuilder is not available anymore

Posted by bt...@apache.org.
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 20179d37a4c7c16255e504d2f2e1c7a2e199e169
Author: Tran Tien Duc <dt...@linagora.com>
AuthorDate: Mon Aug 19 11:35:35 2019 +0700

    JAMES-2855 DefaultConfigurationBuilder is not available anymore
    
    Use BaseHierarchicalConfiguration
---
 .../smtp/CassandraRabbitMQAwsS3SmtpTestRuleFactory.java  |  4 ++--
 .../james/mpt/smtp/CassandraSmtpTestRuleFactory.java     |  4 ++--
 .../modules/data/CassandraMailRepositoryModule.java      |  4 ++--
 .../apache/james/DefaultCassandraJamesServerTest.java    |  4 ++--
 .../james/modules/data/JPAMailRepositoryModule.java      |  4 ++--
 .../james/modules/mailbox/ListenersConfiguration.java    | 13 +++++++------
 .../james/modules/mailbox/MailboxListenerFactory.java    |  5 +++--
 .../mailbox/PreDeletionHookConfigurationTest.java        | 11 ++++++-----
 .../james/modules/server/CamelMailetContainerModule.java |  9 +++++----
 .../java/org/apache/james/MemoryJamesServerMain.java     |  4 ++--
 .../org/apache/james/modules/data/MemoryDataModule.java  |  6 +++---
 .../org/apache/james/DefaultMemoryJamesServerTest.java   |  4 ++--
 .../MailRepositoryStoreBeanFactory.java                  | 10 +++++-----
 .../cassandra/CassandraRecipientRewriteTableV6Test.java  |  4 ++--
 .../cassandra/CassandraRecipientRewriteTableV7Test.java  |  4 ++--
 .../apache/james/rrt/cassandra/CassandraStepdefs.java    |  4 ++--
 .../james/mailrepository/FileMailRepositoryTest.java     | 16 ++++++++--------
 .../james/rrt/file/XMLRecipientRewriteTableTest.java     |  7 ++++---
 .../apache/james/user/file/UsersFileRepositoryTest.java  |  4 ++--
 .../james/mailrepository/jdbc/JDBCMailRepository.java    |  8 ++++----
 .../mailrepository/jdbc/JDBCMailRepositoryTest.java      |  4 ++--
 .../james/rrt/jdbc/JDBCRecipientRewriteTableTest.java    |  4 ++--
 .../java/org/apache/james/rrt/jdbc/JDBCStepdefs.java     |  4 ++--
 .../james/user/jdbc/DefaultUsersJdbcRepositoryTest.java  |  4 ++--
 .../james/user/jdbc/JamesUsersJdbcRepositoryTest.java    |  4 ++--
 .../apache/james/user/jpa/JpaUsersRepositoryTest.java    |  4 ++--
 .../memory/MailRepositoryStoreConfiguration.java         |  5 +++--
 .../memory/MailRepositoryStoreConfigurationTest.java     | 10 +++++-----
 .../memory/MemoryMailRepositoryStoreTest.java            |  6 +++---
 .../org/apache/james/rrt/memory/InMemoryStepdefs.java    |  4 ++--
 .../rrt/memory/MemoryRecipientRewriteTableTest.java      |  4 ++--
 .../james/mailetcontainer/impl/MailetConfigImpl.java     |  9 +++++----
 .../transport/mailets/ToSenderDomainRepositoryTest.java  |  4 ++--
 .../apache/james/imapserver/netty/IMAPServerTest.java    |  7 ++++---
 .../apache/james/pop3server/POP3TestConfiguration.java   |  4 ++--
 .../java/org/apache/james/smtpserver/SMTPServerTest.java |  4 ++--
 .../apache/james/smtpserver/SMTPTestConfiguration.java   |  4 ++--
 .../apache/james/webadmin/routes/AliasRoutesTest.java    |  4 ++--
 .../apache/james/webadmin/routes/ForwardRoutesTest.java  |  4 ++--
 .../vault/routes/DeletedMessagesVaultRoutesTest.java     |  4 ++--
 .../webadmin/routes/MailRepositoriesRoutesTest.java      |  6 +++---
 .../james/webadmin/service/ReprocessingServiceTest.java  |  4 ++--
 42 files changed, 122 insertions(+), 114 deletions(-)

diff --git a/mpt/impl/smtp/cassandra-rabbitmq-object-storage/src/test/java/org/apache/james/mpt/smtp/CassandraRabbitMQAwsS3SmtpTestRuleFactory.java b/mpt/impl/smtp/cassandra-rabbitmq-object-storage/src/test/java/org/apache/james/mpt/smtp/CassandraRabbitMQAwsS3SmtpTestRuleFactory.java
index 43c6f25..ed8fd35 100644
--- a/mpt/impl/smtp/cassandra-rabbitmq-object-storage/src/test/java/org/apache/james/mpt/smtp/CassandraRabbitMQAwsS3SmtpTestRuleFactory.java
+++ b/mpt/impl/smtp/cassandra-rabbitmq-object-storage/src/test/java/org/apache/james/mpt/smtp/CassandraRabbitMQAwsS3SmtpTestRuleFactory.java
@@ -18,7 +18,7 @@
  ****************************************************************/
 package org.apache.james.mpt.smtp;
 
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.james.CassandraJamesServerMain;
 import org.apache.james.CleanupTasksPerformer;
 import org.apache.james.GuiceJamesServer;
@@ -56,7 +56,7 @@ public final class CassandraRabbitMQAwsS3SmtpTestRuleFactory {
                 SmtpTestRule.SMTP_PROTOCOL_MODULE,
                 binder -> binder.bind(MailQueueItemDecoratorFactory.class).to(RawMailQueueItemDecoratorFactory.class),
                 binder -> binder.bind(CamelMailetContainerModule.DefaultProcessorsConfigurationSupplier.class)
-                    .toInstance(DefaultConfigurationBuilder::new))
+                    .toInstance(BaseHierarchicalConfiguration::new))
             .overrideWith(
                 new RabbitMQModule(),
                 new BlobStoreChoosingModule())
diff --git a/mpt/impl/smtp/cassandra/src/test/java/org/apache/james/mpt/smtp/CassandraSmtpTestRuleFactory.java b/mpt/impl/smtp/cassandra/src/test/java/org/apache/james/mpt/smtp/CassandraSmtpTestRuleFactory.java
index 4b62952..f8f95ff 100644
--- a/mpt/impl/smtp/cassandra/src/test/java/org/apache/james/mpt/smtp/CassandraSmtpTestRuleFactory.java
+++ b/mpt/impl/smtp/cassandra/src/test/java/org/apache/james/mpt/smtp/CassandraSmtpTestRuleFactory.java
@@ -18,7 +18,7 @@
  ****************************************************************/
 package org.apache.james.mpt.smtp;
 
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.james.CassandraJamesServerMain;
 import org.apache.james.GuiceJamesServer;
 import org.apache.james.backends.cassandra.init.configuration.ClusterConfiguration;
@@ -49,7 +49,7 @@ public final class CassandraSmtpTestRuleFactory {
                 SmtpTestRule.SMTP_PROTOCOL_MODULE,
                 binder -> binder.bind(MailQueueItemDecoratorFactory.class).to(RawMailQueueItemDecoratorFactory.class),
                 binder -> binder.bind(CamelMailetContainerModule.DefaultProcessorsConfigurationSupplier.class)
-                    .toInstance(DefaultConfigurationBuilder::new))
+                    .toInstance(BaseHierarchicalConfiguration::new))
             .overrideWith(
                 binder -> binder.bind(ClusterConfiguration.class).toInstance(
                     ClusterConfiguration.builder()
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraMailRepositoryModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraMailRepositoryModule.java
index 4472a53..3c8830b 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraMailRepositoryModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraMailRepositoryModule.java
@@ -19,7 +19,7 @@
 
 package org.apache.james.modules.data;
 
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.james.backends.cassandra.components.CassandraModule;
 import org.apache.james.mailrepository.api.MailRepositoryProvider;
 import org.apache.james.mailrepository.api.MailRepositoryUrlStore;
@@ -46,7 +46,7 @@ public class CassandraMailRepositoryModule extends AbstractModule {
     private static final MailRepositoryStoreConfiguration.Item CASSANDRA_MAILREPOSITORY_DEFAULT_DECLARATION = new MailRepositoryStoreConfiguration.Item(
         ImmutableList.of(new Protocol("cassandra")),
         CassandraMailRepository.class.getName(),
-        new HierarchicalConfiguration());
+        new BaseHierarchicalConfiguration());
 
     @Override
     protected void configure() {
diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DefaultCassandraJamesServerTest.java b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DefaultCassandraJamesServerTest.java
index aa850d0..2d48146 100644
--- a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DefaultCassandraJamesServerTest.java
+++ b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DefaultCassandraJamesServerTest.java
@@ -22,7 +22,7 @@ package org.apache.james;
 import static org.apache.james.CassandraJamesServerMain.ALL_BUT_JMX_CASSANDRA_MODULE;
 import static org.assertj.core.api.Assertions.assertThat;
 
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.james.mailbox.extractor.TextExtractor;
 import org.apache.james.mailbox.store.search.PDFTextExtractor;
 import org.apache.james.modules.TestJMAPServerModule;
@@ -44,7 +44,7 @@ class DefaultCassandraJamesServerTest {
             .overrideWith(binder -> binder.bind(TextExtractor.class).to(PDFTextExtractor.class))
             .overrideWith(new TestJMAPServerModule(LIMIT_TO_10_MESSAGES))
             .overrideWith(binder -> binder.bind(PropertiesProvider.class).to(FailingPropertiesProvider.class))
-            .overrideWith(binder -> binder.bind(ConfigurationProvider.class).toInstance((s, l) -> new HierarchicalConfiguration())))
+            .overrideWith(binder -> binder.bind(ConfigurationProvider.class).toInstance((s, l) -> new BaseHierarchicalConfiguration())))
         .build();
 
     @Test
diff --git a/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPAMailRepositoryModule.java b/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPAMailRepositoryModule.java
index 7bcfc4f..51c6587 100644
--- a/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPAMailRepositoryModule.java
+++ b/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPAMailRepositoryModule.java
@@ -19,7 +19,7 @@
 
 package org.apache.james.modules.data;
 
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.james.mailrepository.api.MailRepositoryUrlStore;
 import org.apache.james.mailrepository.api.Protocol;
 import org.apache.james.mailrepository.file.FileMailRepository;
@@ -35,7 +35,7 @@ public class JPAMailRepositoryModule extends AbstractModule {
     private static final MailRepositoryStoreConfiguration.Item FILE_MAILREPOSITORY_DEFAULT_DECLARATION = new MailRepositoryStoreConfiguration.Item(
         ImmutableList.of(new Protocol("file")),
         FileMailRepository.class.getName(),
-        new HierarchicalConfiguration());
+        new BaseHierarchicalConfiguration());
 
     @Override
     protected void configure() {
diff --git a/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/ListenersConfiguration.java b/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/ListenersConfiguration.java
index b499a1a..dc6849d 100644
--- a/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/ListenersConfiguration.java
+++ b/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/ListenersConfiguration.java
@@ -20,7 +20,7 @@ package org.apache.james.modules.mailbox;
 
 import java.util.List;
 
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
 
 import com.github.steveash.guavate.Guavate;
 import com.google.common.annotations.VisibleForTesting;
@@ -28,11 +28,12 @@ import com.google.common.annotations.VisibleForTesting;
 public class ListenersConfiguration {
 
     public static ListenersConfiguration from(HierarchicalConfiguration configuration) {
-        return new ListenersConfiguration(
-                configuration.configurationsAt("listener")
-                    .stream()
-                    .map(ListenerConfiguration::from)
-                    .collect(Guavate.toImmutableList()));
+        List<HierarchicalConfiguration> listeners = configuration.configurationsAt("listener");
+
+        return new ListenersConfiguration(listeners
+            .stream()
+            .map(ListenerConfiguration::from)
+            .collect(Guavate.toImmutableList()));
     }
     
     private final List<ListenerConfiguration> listenersConfiguration;
diff --git a/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/MailboxListenerFactory.java b/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/MailboxListenerFactory.java
index 7f90b92..e7988db 100644
--- a/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/MailboxListenerFactory.java
+++ b/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/MailboxListenerFactory.java
@@ -22,7 +22,8 @@ import java.util.Optional;
 
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
 import org.apache.james.mailbox.events.MailboxListener;
 
 import com.google.common.base.Preconditions;
@@ -74,7 +75,7 @@ public class MailboxListenerFactory {
                 binder -> binder.bind(MailboxListener.ExecutionMode.class)
                     .toInstance(executionMode.orElse(MailboxListener.ExecutionMode.SYNCHRONOUS)),
                 binder -> binder.bind(HierarchicalConfiguration.class)
-                    .toInstance(configuration.orElse(new HierarchicalConfiguration())))
+                    .toInstance(configuration.orElse(new BaseHierarchicalConfiguration())))
                 .getInstance(clazz.get());
         }
     }
diff --git a/server/container/guice/mailbox/src/test/java/org/apache/james/modules/mailbox/PreDeletionHookConfigurationTest.java b/server/container/guice/mailbox/src/test/java/org/apache/james/modules/mailbox/PreDeletionHookConfigurationTest.java
index 355eab1..85af9a2 100644
--- a/server/container/guice/mailbox/src/test/java/org/apache/james/modules/mailbox/PreDeletionHookConfigurationTest.java
+++ b/server/container/guice/mailbox/src/test/java/org/apache/james/modules/mailbox/PreDeletionHookConfigurationTest.java
@@ -22,8 +22,9 @@ package org.apache.james.modules.mailbox;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.junit.jupiter.api.Test;
 
 import nl.jqno.equalsverifier.EqualsVerifier;
@@ -37,7 +38,7 @@ class PreDeletionHookConfigurationTest {
 
     @Test
     void fromShouldThrowWhenClassNameIsMissing() {
-        HierarchicalConfiguration configuration = new HierarchicalConfiguration();
+        HierarchicalConfiguration configuration = new BaseHierarchicalConfiguration();
 
         assertThatThrownBy(() -> PreDeletionHookConfiguration.from(configuration))
             .isInstanceOf(ConfigurationException.class);
@@ -45,7 +46,7 @@ class PreDeletionHookConfigurationTest {
 
     @Test
     void fromShouldThrowWhenClassNameIsEmpty() {
-        HierarchicalConfiguration configuration = new HierarchicalConfiguration();
+        HierarchicalConfiguration configuration = new BaseHierarchicalConfiguration();
         configuration.addProperty("class", "");
 
         assertThatThrownBy(() -> PreDeletionHookConfiguration.from(configuration))
@@ -54,7 +55,7 @@ class PreDeletionHookConfigurationTest {
 
     @Test
     void fromShouldReturnValueWithCorrectClassName() throws ConfigurationException {
-        HierarchicalConfiguration configuration = new HierarchicalConfiguration();
+        HierarchicalConfiguration configuration = new BaseHierarchicalConfiguration();
         String className = "a.class";
         configuration.addProperty("class", className);
 
diff --git a/server/container/guice/mailet/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java b/server/container/guice/mailet/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java
index b75a99b..e04d95b 100644
--- a/server/container/guice/mailet/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java
+++ b/server/container/guice/mailet/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java
@@ -26,8 +26,9 @@ import java.util.function.Predicate;
 
 import org.apache.camel.impl.DefaultCamelContext;
 import org.apache.camel.impl.SimpleRegistry;
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.mailetcontainer.api.MailProcessor;
 import org.apache.james.mailetcontainer.api.MailetLoader;
@@ -132,7 +133,7 @@ public class CamelMailetContainerModule extends AbstractModule {
                     .configurationAt("spooler");
             } catch (Exception e) {
                 LOGGER.warn("Could not locate configuration for James Spooler. Assuming empty configuration for this component.");
-                return new HierarchicalConfiguration();
+                return new BaseHierarchicalConfiguration();
             }
         }
 
@@ -168,7 +169,7 @@ public class CamelMailetContainerModule extends AbstractModule {
                     .configurationAt("context");
             } catch (Exception e) {
                 LOGGER.warn("Could not locate configuration for Mailet context. Assuming empty configuration for this component.");
-                return new HierarchicalConfiguration();
+                return new BaseHierarchicalConfiguration();
             }
         }
 
diff --git a/server/container/guice/memory-guice/src/main/java/org/apache/james/MemoryJamesServerMain.java b/server/container/guice/memory-guice/src/main/java/org/apache/james/MemoryJamesServerMain.java
index 191cf83..3402607 100644
--- a/server/container/guice/memory-guice/src/main/java/org/apache/james/MemoryJamesServerMain.java
+++ b/server/container/guice/memory-guice/src/main/java/org/apache/james/MemoryJamesServerMain.java
@@ -21,7 +21,7 @@ package org.apache.james;
 
 import java.util.Optional;
 
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.james.jwt.JwtConfiguration;
 import org.apache.james.modules.BlobExportMechanismModule;
 import org.apache.james.modules.BlobMemoryModule;
@@ -113,7 +113,7 @@ public class MemoryJamesServerMain {
         new SMTPServerModule(),
         new RawPostDequeueDecoratorModule(),
         binder -> binder.bind(CamelMailetContainerModule.DefaultProcessorsConfigurationSupplier.class)
-            .toInstance(DefaultConfigurationBuilder::new));
+            .toInstance(BaseHierarchicalConfiguration::new));
 
 
     public static final Module SMTP_AND_IMAP_MODULE = Modules.combine(
diff --git a/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/data/MemoryDataModule.java b/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/data/MemoryDataModule.java
index d6f47bb..d24b762 100644
--- a/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/data/MemoryDataModule.java
+++ b/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/data/MemoryDataModule.java
@@ -21,8 +21,8 @@ package org.apache.james.modules.data;
 
 import java.util.List;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.dlp.api.DLPConfigurationStore;
 import org.apache.james.dlp.eventsourcing.EventSourcingDLPConfigurationStore;
 import org.apache.james.domainlist.api.DomainList;
@@ -56,7 +56,7 @@ public class MemoryDataModule extends AbstractModule {
     private static final MailRepositoryStoreConfiguration.Item MEMORY_MAILREPOSITORY_DEFAULT_DECLARATION = new MailRepositoryStoreConfiguration.Item(
         ImmutableList.of(new Protocol("memory")),
         MemoryMailRepository.class.getName(),
-        new HierarchicalConfiguration());
+        new BaseHierarchicalConfiguration());
 
     @Override
     protected void configure() {
diff --git a/server/container/guice/memory-guice/src/test/java/org/apache/james/DefaultMemoryJamesServerTest.java b/server/container/guice/memory-guice/src/test/java/org/apache/james/DefaultMemoryJamesServerTest.java
index c1ad2eb..11af21d 100644
--- a/server/container/guice/memory-guice/src/test/java/org/apache/james/DefaultMemoryJamesServerTest.java
+++ b/server/container/guice/memory-guice/src/test/java/org/apache/james/DefaultMemoryJamesServerTest.java
@@ -21,7 +21,7 @@ package org.apache.james;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.james.mailbox.extractor.TextExtractor;
 import org.apache.james.mailbox.store.search.PDFTextExtractor;
 import org.apache.james.modules.TestJMAPServerModule;
@@ -41,7 +41,7 @@ class DefaultMemoryJamesServerTest {
             .overrideWith(new TestJMAPServerModule(LIMIT_TO_10_MESSAGES))
             .overrideWith(binder -> binder.bind(TextExtractor.class).to(PDFTextExtractor.class))
             .overrideWith(binder -> binder.bind(PropertiesProvider.class).to(FailingPropertiesProvider.class))
-            .overrideWith(binder -> binder.bind(ConfigurationProvider.class).toInstance((s, l) -> new HierarchicalConfiguration())))
+            .overrideWith(binder -> binder.bind(ConfigurationProvider.class).toInstance((s, l) -> new BaseHierarchicalConfiguration())))
         .build();
 
     @Test
diff --git a/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factory/mailrepositorystore/MailRepositoryStoreBeanFactory.java b/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factory/mailrepositorystore/MailRepositoryStoreBeanFactory.java
index d14a198..8367662 100644
--- a/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factory/mailrepositorystore/MailRepositoryStoreBeanFactory.java
+++ b/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factory/mailrepositorystore/MailRepositoryStoreBeanFactory.java
@@ -27,10 +27,10 @@ import java.util.stream.Stream;
 import javax.annotation.PostConstruct;
 
 import org.apache.commons.collections4.map.ReferenceMap;
-import org.apache.commons.configuration.CombinedConfiguration;
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
+import org.apache.commons.configuration2.CombinedConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.container.spring.bean.factory.AbstractBeanFactory;
 import org.apache.james.lifecycle.api.Configurable;
 import org.apache.james.mailrepository.api.MailRepository;
@@ -184,7 +184,7 @@ public class MailRepositoryStoreBeanFactory extends AbstractBeanFactory implemen
             if (defConf != null) {
                 config.addConfiguration(defConf);
             }
-            DefaultConfigurationBuilder builder = new DefaultConfigurationBuilder();
+            HierarchicalConfiguration builder = new BaseHierarchicalConfiguration();
             builder.addProperty("[@destinationURL]", destination.asString());
             config.addConfiguration(builder);
 
diff --git a/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTableV6Test.java b/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTableV6Test.java
index acab7bf..41386ef 100644
--- a/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTableV6Test.java
+++ b/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTableV6Test.java
@@ -19,7 +19,7 @@
 
 package org.apache.james.rrt.cassandra;
 
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.james.backends.cassandra.CassandraCluster;
 import org.apache.james.backends.cassandra.DockerCassandraRule;
 import org.apache.james.backends.cassandra.components.CassandraModule;
@@ -70,7 +70,7 @@ public class CassandraRecipientRewriteTableV6Test extends AbstractRecipientRewri
             new CassandraRecipientRewriteTableDAO(cassandra.getConf(), CassandraUtils.WITH_DEFAULT_CONFIGURATION),
             new CassandraMappingsSourcesDAO(cassandra.getConf()),
             cassandraSchemaVersionDAO);
-        rrt.configure(new DefaultConfigurationBuilder());
+        rrt.configure(new BaseHierarchicalConfiguration());
 
         cassandraSchemaVersionDAO.updateVersion(SCHEMA_VERSION_V6);
 
diff --git a/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTableV7Test.java b/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTableV7Test.java
index 77af537..381809f 100644
--- a/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTableV7Test.java
+++ b/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTableV7Test.java
@@ -19,7 +19,7 @@
 
 package org.apache.james.rrt.cassandra;
 
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.james.backends.cassandra.CassandraCluster;
 import org.apache.james.backends.cassandra.DockerCassandraRule;
 import org.apache.james.backends.cassandra.components.CassandraModule;
@@ -70,7 +70,7 @@ public class CassandraRecipientRewriteTableV7Test extends AbstractRecipientRewri
             new CassandraRecipientRewriteTableDAO(cassandra.getConf(), CassandraUtils.WITH_DEFAULT_CONFIGURATION),
             new CassandraMappingsSourcesDAO(cassandra.getConf()),
             cassandraSchemaVersionDAO);
-        rrt.configure(new DefaultConfigurationBuilder());
+        rrt.configure(new BaseHierarchicalConfiguration());
 
         cassandraSchemaVersionDAO.updateVersion(SCHEMA_VERSION_V7);
 
diff --git a/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraStepdefs.java b/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraStepdefs.java
index ddc4481..a32812f 100644
--- a/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraStepdefs.java
+++ b/server/data/data-cassandra/src/test/java/org/apache/james/rrt/cassandra/CassandraStepdefs.java
@@ -18,7 +18,7 @@
  ****************************************************************/
 package org.apache.james.rrt.cassandra;
 
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.james.backends.cassandra.CassandraCluster;
 import org.apache.james.backends.cassandra.DockerCassandraRule;
 import org.apache.james.backends.cassandra.components.CassandraModule;
@@ -64,7 +64,7 @@ public class CassandraStepdefs {
             new CassandraRecipientRewriteTableDAO(cassandra.getConf(), CassandraUtils.WITH_DEFAULT_CONFIGURATION),
             new CassandraMappingsSourcesDAO(cassandra.getConf()),
             new CassandraSchemaVersionDAO(cassandra.getConf()));
-        rrt.configure(new DefaultConfigurationBuilder());
+        rrt.configure(new BaseHierarchicalConfiguration());
         rrt.setDomainList(RecipientRewriteTableFixture.domainListForCucumberTests());
         return rrt;
     }
diff --git a/server/data/data-file/src/test/java/org/apache/james/mailrepository/FileMailRepositoryTest.java b/server/data/data-file/src/test/java/org/apache/james/mailrepository/FileMailRepositoryTest.java
index a2a69aa..ec5a39c 100644
--- a/server/data/data-file/src/test/java/org/apache/james/mailrepository/FileMailRepositoryTest.java
+++ b/server/data/data-file/src/test/java/org/apache/james/mailrepository/FileMailRepositoryTest.java
@@ -19,7 +19,7 @@
 
 package org.apache.james.mailrepository;
 
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.james.filesystem.api.mock.MockFileSystem;
 import org.apache.james.mailrepository.api.MailRepository;
 import org.apache.james.mailrepository.file.FileMailRepository;
@@ -43,13 +43,13 @@ public class FileMailRepositoryTest {
             mailRepository.init();
         }
 
-        protected DefaultConfigurationBuilder getConfiguration() {
-            DefaultConfigurationBuilder configuration = new DefaultConfigurationBuilder();
+        protected BaseHierarchicalConfiguration getConfiguration() {
+            BaseHierarchicalConfiguration configuration = new BaseHierarchicalConfiguration();
             configuration.addProperty("[@destinationURL]", "file://target/var/mailRepository");
             return withConfigurationOptions(configuration);
         }
 
-        protected abstract DefaultConfigurationBuilder withConfigurationOptions(DefaultConfigurationBuilder configuration);
+        protected abstract BaseHierarchicalConfiguration withConfigurationOptions(BaseHierarchicalConfiguration configuration);
 
         @AfterEach
         void tearDown() {
@@ -67,7 +67,7 @@ public class FileMailRepositoryTest {
     public class DefaultFileMailRepositoryTest extends GenericFileMailRepositoryTest {
 
         @Override
-        protected DefaultConfigurationBuilder withConfigurationOptions(DefaultConfigurationBuilder configuration) {
+        protected BaseHierarchicalConfiguration withConfigurationOptions(BaseHierarchicalConfiguration configuration) {
             configuration.addProperty("[@FIFO]", "false");
             configuration.addProperty("[@CACHEKEYS]", "true");
             return configuration;
@@ -79,7 +79,7 @@ public class FileMailRepositoryTest {
     public class NoCacheFileMailRepositoryTest extends GenericFileMailRepositoryTest {
 
         @Override
-        protected DefaultConfigurationBuilder withConfigurationOptions(DefaultConfigurationBuilder configuration) {
+        protected BaseHierarchicalConfiguration withConfigurationOptions(BaseHierarchicalConfiguration configuration) {
             configuration.addProperty("[@FIFO]", "false");
             configuration.addProperty("[@CACHEKEYS]", "false");
             return configuration;
@@ -91,7 +91,7 @@ public class FileMailRepositoryTest {
     public class FifoFileMailRepositoryTest extends GenericFileMailRepositoryTest {
 
         @Override
-        protected DefaultConfigurationBuilder withConfigurationOptions(DefaultConfigurationBuilder configuration) {
+        protected BaseHierarchicalConfiguration withConfigurationOptions(BaseHierarchicalConfiguration configuration) {
             configuration.addProperty("[@FIFO]", "true");
             configuration.addProperty("[@CACHEKEYS]", "true");
             return configuration;
@@ -103,7 +103,7 @@ public class FileMailRepositoryTest {
     public class FifoNoCacheFileMailRepositoryTest extends GenericFileMailRepositoryTest {
 
         @Override
-        protected DefaultConfigurationBuilder withConfigurationOptions(DefaultConfigurationBuilder configuration) {
+        protected BaseHierarchicalConfiguration withConfigurationOptions(BaseHierarchicalConfiguration configuration) {
             configuration.addProperty("[@FIFO]", "true");
             configuration.addProperty("[@CACHEKEYS]", "false");
             return configuration;
diff --git a/server/data/data-file/src/test/java/org/apache/james/rrt/file/XMLRecipientRewriteTableTest.java b/server/data/data-file/src/test/java/org/apache/james/rrt/file/XMLRecipientRewriteTableTest.java
index 57fd85b..4b3f4d4 100644
--- a/server/data/data-file/src/test/java/org/apache/james/rrt/file/XMLRecipientRewriteTableTest.java
+++ b/server/data/data-file/src/test/java/org/apache/james/rrt/file/XMLRecipientRewriteTableTest.java
@@ -21,7 +21,8 @@ package org.apache.james.rrt.file;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
+import org.apache.commons.configuration2.convert.DisabledListDelimiterHandler;
 import org.apache.james.rrt.api.RecipientRewriteTableException;
 import org.apache.james.rrt.lib.AbstractRecipientRewriteTable;
 import org.apache.james.rrt.lib.AbstractRecipientRewriteTableTest;
@@ -37,12 +38,12 @@ import org.junit.Test;
 
 public class XMLRecipientRewriteTableTest extends AbstractRecipientRewriteTableTest {
 
-    private final DefaultConfigurationBuilder defaultConfiguration = new DefaultConfigurationBuilder();
+    private final BaseHierarchicalConfiguration defaultConfiguration = new BaseHierarchicalConfiguration();
 
     @Override
     @Before
     public void setUp() throws Exception {
-        defaultConfiguration.setDelimiterParsingDisabled(true);
+        defaultConfiguration.setListDelimiterHandler(new DisabledListDelimiterHandler());
         super.setUp();
     }
 
diff --git a/server/data/data-file/src/test/java/org/apache/james/user/file/UsersFileRepositoryTest.java b/server/data/data-file/src/test/java/org/apache/james/user/file/UsersFileRepositoryTest.java
index 9de69af..ea03978 100644
--- a/server/data/data-file/src/test/java/org/apache/james/user/file/UsersFileRepositoryTest.java
+++ b/server/data/data-file/src/test/java/org/apache/james/user/file/UsersFileRepositoryTest.java
@@ -26,7 +26,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.util.Iterator;
 
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.commons.io.FileUtils;
 import org.apache.james.filesystem.api.FileSystem;
 import org.apache.james.lifecycle.api.LifecycleUtil;
@@ -82,7 +82,7 @@ public class UsersFileRepositoryTest extends AbstractUsersRepositoryTest {
 
         };
 
-        DefaultConfigurationBuilder configuration = new DefaultConfigurationBuilder("test");
+        BaseHierarchicalConfiguration configuration = new BaseHierarchicalConfiguration();
         configuration.addProperty("destination.[@URL]", "file://target/var/users");
         // Configure with ignoreCase = false, we need some more work to support true
         configuration.addProperty("ignoreCase", "false");
diff --git a/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/JDBCMailRepository.java b/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/JDBCMailRepository.java
index 9ba9395..7f71324 100644
--- a/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/JDBCMailRepository.java
+++ b/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/JDBCMailRepository.java
@@ -48,9 +48,9 @@ import javax.mail.MessagingException;
 import javax.mail.internet.MimeMessage;
 import javax.sql.DataSource;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.commons.lang3.SerializationUtils;
 import org.apache.james.core.MailAddress;
 import org.apache.james.filesystem.api.FileSystem;
@@ -245,7 +245,7 @@ public class JDBCMailRepository extends AbstractMailRepository {
             if (filestore != null) {
 
                 // prepare Configurations for stream repositories
-                DefaultConfigurationBuilder streamConfiguration = new DefaultConfigurationBuilder();
+                HierarchicalConfiguration streamConfiguration = new BaseHierarchicalConfiguration();
 
                 streamConfiguration.addProperty("[@destinationURL]", filestore);
 
diff --git a/server/data/data-jdbc/src/test/java/org/apache/james/mailrepository/jdbc/JDBCMailRepositoryTest.java b/server/data/data-jdbc/src/test/java/org/apache/james/mailrepository/jdbc/JDBCMailRepositoryTest.java
index 59a06b1..ae72802 100644
--- a/server/data/data-jdbc/src/test/java/org/apache/james/mailrepository/jdbc/JDBCMailRepositoryTest.java
+++ b/server/data/data-jdbc/src/test/java/org/apache/james/mailrepository/jdbc/JDBCMailRepositoryTest.java
@@ -23,7 +23,7 @@ import java.sql.SQLException;
 
 import javax.sql.DataSource;
 
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.commons.dbcp.BasicDataSource;
 import org.apache.derby.jdbc.EmbeddedDriver;
 import org.apache.james.filesystem.api.mock.MockFileSystem;
@@ -44,7 +44,7 @@ public class JDBCMailRepositoryTest implements MailRepositoryContract {
         DataSource datasource = getDataSource();
         mailRepository = new JDBCMailRepository();
 
-        DefaultConfigurationBuilder defaultConfiguration = new DefaultConfigurationBuilder();
+        BaseHierarchicalConfiguration defaultConfiguration = new BaseHierarchicalConfiguration();
         defaultConfiguration.addProperty("[@destinationURL]", "db://maildb/mr/testrepo");
         defaultConfiguration.addProperty("sqlFile", "file://conf/sqlResources.xml");
         defaultConfiguration.addProperty("[@type]", "MAIL");
diff --git a/server/data/data-jdbc/src/test/java/org/apache/james/rrt/jdbc/JDBCRecipientRewriteTableTest.java b/server/data/data-jdbc/src/test/java/org/apache/james/rrt/jdbc/JDBCRecipientRewriteTableTest.java
index a1acea8..eb47663 100644
--- a/server/data/data-jdbc/src/test/java/org/apache/james/rrt/jdbc/JDBCRecipientRewriteTableTest.java
+++ b/server/data/data-jdbc/src/test/java/org/apache/james/rrt/jdbc/JDBCRecipientRewriteTableTest.java
@@ -18,7 +18,7 @@
  ****************************************************************/
 package org.apache.james.rrt.jdbc;
 
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.commons.dbcp.BasicDataSource;
 import org.apache.derby.jdbc.EmbeddedDriver;
 import org.apache.james.filesystem.api.mock.MockFileSystem;
@@ -47,7 +47,7 @@ public class JDBCRecipientRewriteTableTest extends AbstractRecipientRewriteTable
         JDBCRecipientRewriteTable localVirtualUserTable = new JDBCRecipientRewriteTable();
         localVirtualUserTable.setDataSource(getDataSource());
         localVirtualUserTable.setFileSystem(new MockFileSystem());
-        DefaultConfigurationBuilder defaultConfiguration = new DefaultConfigurationBuilder();
+        BaseHierarchicalConfiguration defaultConfiguration = new BaseHierarchicalConfiguration();
         defaultConfiguration.addProperty("[@destinationURL]", "db://maildb/RecipientRewriteTable");
         defaultConfiguration.addProperty("sqlFile", "file://conf/sqlResources.xml");
         localVirtualUserTable.configure(defaultConfiguration);
diff --git a/server/data/data-jdbc/src/test/java/org/apache/james/rrt/jdbc/JDBCStepdefs.java b/server/data/data-jdbc/src/test/java/org/apache/james/rrt/jdbc/JDBCStepdefs.java
index c6ae828..b09158f 100644
--- a/server/data/data-jdbc/src/test/java/org/apache/james/rrt/jdbc/JDBCStepdefs.java
+++ b/server/data/data-jdbc/src/test/java/org/apache/james/rrt/jdbc/JDBCStepdefs.java
@@ -20,7 +20,7 @@ package org.apache.james.rrt.jdbc;
 
 import java.util.UUID;
 
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.commons.dbcp.BasicDataSource;
 import org.apache.derby.jdbc.EmbeddedDriver;
 import org.apache.james.filesystem.api.mock.MockFileSystem;
@@ -48,7 +48,7 @@ public class JDBCStepdefs {
         JDBCRecipientRewriteTable localVirtualUserTable = new JDBCRecipientRewriteTable();
         localVirtualUserTable.setDataSource(getDataSource());
         localVirtualUserTable.setFileSystem(new MockFileSystem());
-        DefaultConfigurationBuilder defaultConfiguration = new DefaultConfigurationBuilder();
+        BaseHierarchicalConfiguration defaultConfiguration = new BaseHierarchicalConfiguration();
         defaultConfiguration.addProperty("[@destinationURL]", "db://maildb/RecipientRewriteTable");
         defaultConfiguration.addProperty("sqlFile", "file://conf/sqlResources.xml");
         localVirtualUserTable.configure(defaultConfiguration);
diff --git a/server/data/data-jdbc/src/test/java/org/apache/james/user/jdbc/DefaultUsersJdbcRepositoryTest.java b/server/data/data-jdbc/src/test/java/org/apache/james/user/jdbc/DefaultUsersJdbcRepositoryTest.java
index be785fe..d73d0ec 100644
--- a/server/data/data-jdbc/src/test/java/org/apache/james/user/jdbc/DefaultUsersJdbcRepositoryTest.java
+++ b/server/data/data-jdbc/src/test/java/org/apache/james/user/jdbc/DefaultUsersJdbcRepositoryTest.java
@@ -23,7 +23,7 @@ import java.util.Iterator;
 
 import javax.sql.DataSource;
 
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.commons.dbcp.BasicDataSource;
 import org.apache.derby.jdbc.EmbeddedDriver;
 import org.apache.james.filesystem.api.mock.MockFileSystem;
@@ -73,7 +73,7 @@ public class DefaultUsersJdbcRepositoryTest extends AbstractUsersJdbcRepositoryT
 
         res.setDatasource(dataSource);
 
-        DefaultConfigurationBuilder configuration = new DefaultConfigurationBuilder();
+        BaseHierarchicalConfiguration configuration = new BaseHierarchicalConfiguration();
         configuration.addProperty("[@destinationURL]", "db://maildb/" + tableString);
         configuration.addProperty("sqlFile", "file://conf/sqlResources.xml");
         res.configure(configuration);
diff --git a/server/data/data-jdbc/src/test/java/org/apache/james/user/jdbc/JamesUsersJdbcRepositoryTest.java b/server/data/data-jdbc/src/test/java/org/apache/james/user/jdbc/JamesUsersJdbcRepositoryTest.java
index 66e9fd4..f5d003d 100644
--- a/server/data/data-jdbc/src/test/java/org/apache/james/user/jdbc/JamesUsersJdbcRepositoryTest.java
+++ b/server/data/data-jdbc/src/test/java/org/apache/james/user/jdbc/JamesUsersJdbcRepositoryTest.java
@@ -23,7 +23,7 @@ import java.util.Iterator;
 
 import javax.sql.DataSource;
 
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.commons.dbcp.BasicDataSource;
 import org.apache.derby.jdbc.EmbeddedDriver;
 import org.apache.james.filesystem.api.mock.MockFileSystem;
@@ -72,7 +72,7 @@ public class JamesUsersJdbcRepositoryTest extends AbstractUsersJdbcRepositoryTes
         res.setFileSystem(new MockFileSystem());
         DataSource dataSource = getDataSource();
         res.setDatasource(dataSource);
-        DefaultConfigurationBuilder configuration = new DefaultConfigurationBuilder();
+        BaseHierarchicalConfiguration configuration = new BaseHierarchicalConfiguration();
         configuration.addProperty("[@destinationURL]", "db://maildb/" + tableString);
         configuration.addProperty("sqlFile", "file://conf/sqlResources.xml");
         res.configure(configuration);
diff --git a/server/data/data-jpa/src/test/java/org/apache/james/user/jpa/JpaUsersRepositoryTest.java b/server/data/data-jpa/src/test/java/org/apache/james/user/jpa/JpaUsersRepositoryTest.java
index 6a0d1d6..acdf0a1 100644
--- a/server/data/data-jpa/src/test/java/org/apache/james/user/jpa/JpaUsersRepositoryTest.java
+++ b/server/data/data-jpa/src/test/java/org/apache/james/user/jpa/JpaUsersRepositoryTest.java
@@ -18,7 +18,7 @@
  ****************************************************************/
 package org.apache.james.user.jpa;
 
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.james.backends.jpa.JpaTestCluster;
 import org.apache.james.user.jpa.model.JPAUser;
 import org.apache.james.user.lib.AbstractUsersRepository;
@@ -47,7 +47,7 @@ public class JpaUsersRepositoryTest extends AbstractUsersRepositoryTest {
     protected AbstractUsersRepository getUsersRepository() throws Exception {
         JPAUsersRepository repos = new JPAUsersRepository();
         repos.setEntityManagerFactory(JPA_TEST_CLUSTER.getEntityManagerFactory());
-        repos.configure(new DefaultConfigurationBuilder());
+        repos.configure(new BaseHierarchicalConfiguration());
         return repos;
     }
 }
diff --git a/server/data/data-memory/src/main/java/org/apache/james/mailrepository/memory/MailRepositoryStoreConfiguration.java b/server/data/data-memory/src/main/java/org/apache/james/mailrepository/memory/MailRepositoryStoreConfiguration.java
index 0a6db81..c31db6b 100644
--- a/server/data/data-memory/src/main/java/org/apache/james/mailrepository/memory/MailRepositoryStoreConfiguration.java
+++ b/server/data/data-memory/src/main/java/org/apache/james/mailrepository/memory/MailRepositoryStoreConfiguration.java
@@ -23,7 +23,8 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.Optional;
 
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
 import org.apache.james.mailrepository.api.Protocol;
 import org.apache.james.util.OptionalUtils;
 import org.slf4j.Logger;
@@ -114,7 +115,7 @@ public class MailRepositoryStoreConfiguration {
         if (configuration.getKeys("config").hasNext()) {
             return configuration.configurationAt("config");
         }
-        return new HierarchicalConfiguration();
+        return new BaseHierarchicalConfiguration();
     }
 
 
diff --git a/server/data/data-memory/src/test/java/org/apache/james/mailrepository/memory/MailRepositoryStoreConfigurationTest.java b/server/data/data-memory/src/test/java/org/apache/james/mailrepository/memory/MailRepositoryStoreConfigurationTest.java
index 4f9dd4a..8559e97 100644
--- a/server/data/data-memory/src/test/java/org/apache/james/mailrepository/memory/MailRepositoryStoreConfigurationTest.java
+++ b/server/data/data-memory/src/test/java/org/apache/james/mailrepository/memory/MailRepositoryStoreConfigurationTest.java
@@ -23,7 +23,7 @@ import static org.assertj.core.api.Assertions.assertThat;
 
 import java.util.Optional;
 
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.james.mailrepository.api.Protocol;
 import org.junit.jupiter.api.Test;
 
@@ -43,7 +43,7 @@ class MailRepositoryStoreConfigurationTest {
             new MailRepositoryStoreConfiguration.Item(
                 ImmutableList.of(),
                 "class.fqdn",
-                new HierarchicalConfiguration())));
+                new BaseHierarchicalConfiguration())));
 
         assertThat(defaultProtocol).isEmpty();
     }
@@ -54,7 +54,7 @@ class MailRepositoryStoreConfigurationTest {
             new MailRepositoryStoreConfiguration.Item(
                 ImmutableList.of(new Protocol("1"), new Protocol("2")),
                 "class.fqdn",
-                new HierarchicalConfiguration())));
+                new BaseHierarchicalConfiguration())));
 
         assertThat(defaultProtocol).contains(new Protocol("1"));
     }
@@ -65,11 +65,11 @@ class MailRepositoryStoreConfigurationTest {
             new MailRepositoryStoreConfiguration.Item(
                 ImmutableList.of(),
                 "class.fqdn",
-                new HierarchicalConfiguration()),
+                new BaseHierarchicalConfiguration()),
             new MailRepositoryStoreConfiguration.Item(
                 ImmutableList.of(new Protocol("1")),
                 "class.fqdn",
-                new HierarchicalConfiguration())));
+                new BaseHierarchicalConfiguration())));
 
         assertThat(defaultProtocol).contains(new Protocol("1"));
     }
diff --git a/server/data/data-memory/src/test/java/org/apache/james/mailrepository/memory/MemoryMailRepositoryStoreTest.java b/server/data/data-memory/src/test/java/org/apache/james/mailrepository/memory/MemoryMailRepositoryStoreTest.java
index 13aa40b..007547e 100644
--- a/server/data/data-memory/src/test/java/org/apache/james/mailrepository/memory/MemoryMailRepositoryStoreTest.java
+++ b/server/data/data-memory/src/test/java/org/apache/james/mailrepository/memory/MemoryMailRepositoryStoreTest.java
@@ -24,8 +24,8 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 import java.time.Duration;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.builder.MimeMessageBuilder;
 import org.apache.james.mailrepository.api.MailRepository;
 import org.apache.james.mailrepository.api.MailRepositoryPath;
@@ -109,7 +109,7 @@ public class MemoryMailRepositoryStoreTest {
 
     @Test
     public void configureShouldNotThrowOnEmptyConfiguration() throws Exception {
-        MailRepositoryStoreConfiguration configuration = MailRepositoryStoreConfiguration.parse(new HierarchicalConfiguration());
+        MailRepositoryStoreConfiguration configuration = MailRepositoryStoreConfiguration.parse(new BaseHierarchicalConfiguration());
 
         repositoryStore = new MemoryMailRepositoryStore(urlStore, Sets.newHashSet(
             new MemoryMailRepositoryProvider()), configuration);
diff --git a/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/InMemoryStepdefs.java b/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/InMemoryStepdefs.java
index e1f9f92..c3176a8 100644
--- a/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/InMemoryStepdefs.java
+++ b/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/InMemoryStepdefs.java
@@ -19,7 +19,7 @@
 
 package org.apache.james.rrt.memory;
 
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.james.rrt.lib.AbstractRecipientRewriteTable;
 import org.apache.james.rrt.lib.RecipientRewriteTableFixture;
 import org.apache.james.rrt.lib.RewriteTablesStepdefs;
@@ -41,7 +41,7 @@ public class InMemoryStepdefs {
 
     private AbstractRecipientRewriteTable getRecipientRewriteTable() throws Exception {
         MemoryRecipientRewriteTable rrt = new MemoryRecipientRewriteTable();
-        rrt.configure(new DefaultConfigurationBuilder());
+        rrt.configure(new BaseHierarchicalConfiguration());
         rrt.setDomainList(RecipientRewriteTableFixture.domainListForCucumberTests());
         return rrt;
     }
diff --git a/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/MemoryRecipientRewriteTableTest.java b/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/MemoryRecipientRewriteTableTest.java
index 0d32f1d..da7853f 100644
--- a/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/MemoryRecipientRewriteTableTest.java
+++ b/server/data/data-memory/src/test/java/org/apache/james/rrt/memory/MemoryRecipientRewriteTableTest.java
@@ -19,7 +19,7 @@
 
 package org.apache.james.rrt.memory;
 
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.james.rrt.lib.AbstractRecipientRewriteTable;
 import org.apache.james.rrt.lib.AbstractRecipientRewriteTableTest;
 import org.junit.After;
@@ -42,7 +42,7 @@ public class MemoryRecipientRewriteTableTest extends AbstractRecipientRewriteTab
     @Override
     protected AbstractRecipientRewriteTable getRecipientRewriteTable() throws Exception {
         AbstractRecipientRewriteTable rrt = new MemoryRecipientRewriteTable();
-        rrt.configure(new DefaultConfigurationBuilder());
+        rrt.configure(new BaseHierarchicalConfiguration());
         return rrt;
     }
 }
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/MailetConfigImpl.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/MailetConfigImpl.java
index ed40f79..db29116 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/MailetConfigImpl.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/MailetConfigImpl.java
@@ -24,8 +24,9 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.regex.Pattern;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.convert.DisabledListDelimiterHandler;
 import org.apache.mailet.MailetConfig;
 import org.apache.mailet.MailetContext;
 
@@ -122,10 +123,10 @@ public class MailetConfigImpl implements MailetConfig {
      *            the new Configuration for the mailet
      */
     public void setConfiguration(Configuration newConfiguration) {
-        DefaultConfigurationBuilder builder = new DefaultConfigurationBuilder();
+        BaseHierarchicalConfiguration builder = new BaseHierarchicalConfiguration();
         
         // Disable the delimiter parsing. See JAMES-1232
-        builder.setDelimiterParsingDisabled(true);
+        builder.setListDelimiterHandler(new DisabledListDelimiterHandler());
         Iterator<String> keys = newConfiguration.getKeys();
         while (keys.hasNext()) {
             String key = keys.next();
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/ToSenderDomainRepositoryTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/ToSenderDomainRepositoryTest.java
index ff63a10..34e5a02 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/ToSenderDomainRepositoryTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/ToSenderDomainRepositoryTest.java
@@ -29,7 +29,7 @@ import static org.mockito.Mockito.when;
 
 import javax.mail.MessagingException;
 
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.james.mailrepository.api.MailRepository;
 import org.apache.james.mailrepository.api.MailRepositoryStore;
 import org.apache.james.mailrepository.api.MailRepositoryUrl;
@@ -73,7 +73,7 @@ class ToSenderDomainRepositoryTest {
            new MailRepositoryStoreConfiguration.Item(
                 ImmutableList.of(new Protocol("memory")),
                 MemoryMailRepository.class.getName(),
-                new HierarchicalConfiguration()));
+                new BaseHierarchicalConfiguration()));
 
         mailRepositoryStore = new MemoryMailRepositoryStore(urlStore, Sets.newHashSet(new MemoryMailRepositoryProvider()), configuration);
         mailRepositoryStore.init();
diff --git a/server/protocols/protocols-imap4/src/test/java/org/apache/james/imapserver/netty/IMAPServerTest.java b/server/protocols/protocols-imap4/src/test/java/org/apache/james/imapserver/netty/IMAPServerTest.java
index 8c4cbfd..9ccf483 100644
--- a/server/protocols/protocols-imap4/src/test/java/org/apache/james/imapserver/netty/IMAPServerTest.java
+++ b/server/protocols/protocols-imap4/src/test/java/org/apache/james/imapserver/netty/IMAPServerTest.java
@@ -23,7 +23,8 @@ import static org.assertj.core.api.Assertions.assertThat;
 
 import java.util.concurrent.TimeUnit;
 
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
 import org.apache.james.imap.api.ImapConfiguration;
 import org.junit.Rule;
 import org.junit.Test;
@@ -37,7 +38,7 @@ public class IMAPServerTest {
 
     @Test
     public void getImapConfigurationShouldReturnDefaultValuesWhenEmpty() throws Exception {
-        ImapConfiguration imapConfiguration = IMAPServer.getImapConfiguration(new DefaultConfigurationBuilder());
+        ImapConfiguration imapConfiguration = IMAPServer.getImapConfiguration(new BaseHierarchicalConfiguration());
 
         ImapConfiguration expectImapConfiguration = ImapConfiguration.builder()
                 .enableIdle(ImapConfiguration.DEFAULT_ENABLE_IDLE)
@@ -51,7 +52,7 @@ public class IMAPServerTest {
 
     @Test
     public void getImapConfigurationShouldReturnSetValue() throws Exception {
-        DefaultConfigurationBuilder configurationBuilder = new DefaultConfigurationBuilder();
+        HierarchicalConfiguration configurationBuilder = new BaseHierarchicalConfiguration();
         configurationBuilder.addProperty("enableIdle", "false");
         configurationBuilder.addProperty("idleTimeInterval", "1");
         configurationBuilder.addProperty("idleTimeIntervalUnit", "MINUTES");
diff --git a/server/protocols/protocols-pop3/src/test/java/org/apache/james/pop3server/POP3TestConfiguration.java b/server/protocols/protocols-pop3/src/test/java/org/apache/james/pop3server/POP3TestConfiguration.java
index 4128280..5c575db 100644
--- a/server/protocols/protocols-pop3/src/test/java/org/apache/james/pop3server/POP3TestConfiguration.java
+++ b/server/protocols/protocols-pop3/src/test/java/org/apache/james/pop3server/POP3TestConfiguration.java
@@ -19,10 +19,10 @@
 
 package org.apache.james.pop3server;
 
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.james.pop3server.core.CoreCmdHandlerLoader;
 
-public class POP3TestConfiguration extends DefaultConfigurationBuilder {
+public class POP3TestConfiguration extends BaseHierarchicalConfiguration {
 
     public void init() {
         addProperty("[@enabled]", true);
diff --git a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java
index 8fddc5c..406f888 100644
--- a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java
+++ b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java
@@ -39,7 +39,7 @@ import java.util.List;
 
 import javax.mail.internet.MimeMessage;
 
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.commons.net.ProtocolCommandEvent;
 import org.apache.commons.net.ProtocolCommandListener;
 import org.apache.commons.net.smtp.SMTPClient;
@@ -208,7 +208,7 @@ public class SMTPServerTest {
             new MailRepositoryStoreConfiguration.Item(
                 ImmutableList.of(new Protocol("memory")),
                 MemoryMailRepository.class.getName(),
-                new HierarchicalConfiguration()));
+                new BaseHierarchicalConfiguration()));
 
         mailRepositoryStore = new MemoryMailRepositoryStore(urlStore, Sets.newHashSet(new MemoryMailRepositoryProvider()), configuration);
         mailRepositoryStore.init();
diff --git a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPTestConfiguration.java b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPTestConfiguration.java
index fa2831d..1899ac8 100644
--- a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPTestConfiguration.java
+++ b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPTestConfiguration.java
@@ -19,14 +19,14 @@
 
 package org.apache.james.smtpserver;
 
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.james.smtpserver.fastfail.DNSRBLHandler;
 import org.apache.james.smtpserver.fastfail.MaxRcptHandler;
 import org.apache.james.smtpserver.fastfail.ResolvableEhloHeloHandler;
 import org.apache.james.smtpserver.fastfail.ReverseEqualsEhloHeloHandler;
 import org.apache.james.smtpserver.fastfail.ValidSenderDomainHandler;
 
-public class SMTPTestConfiguration extends DefaultConfigurationBuilder {
+public class SMTPTestConfiguration extends BaseHierarchicalConfiguration {
 
     private int maxMessageSizeKB = 0;
     private String authorizedAddresses = "127.0.0.0/8";
diff --git a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/AliasRoutesTest.java b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/AliasRoutesTest.java
index 0ee03d1..2ecac4c 100644
--- a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/AliasRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/AliasRoutesTest.java
@@ -35,7 +35,7 @@ import static org.mockito.Mockito.spy;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.james.core.Domain;
 import org.apache.james.dnsservice.api.DNSService;
 import org.apache.james.domainlist.api.DomainList;
@@ -117,7 +117,7 @@ class AliasRoutesTest {
 
             usersRepository = MemoryUsersRepository.withVirtualHosting();
             usersRepository.setDomainList(domainList);
-            usersRepository.configure(new DefaultConfigurationBuilder());
+            usersRepository.configure(new BaseHierarchicalConfiguration());
 
             usersRepository.addUser(BOB, BOB_PASSWORD);
             usersRepository.addUser(BOB_WITH_SLASH, BOB_WITH_SLASH_PASSWORD);
diff --git a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/ForwardRoutesTest.java b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/ForwardRoutesTest.java
index 9b49f06..e92c665 100644
--- a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/ForwardRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/ForwardRoutesTest.java
@@ -36,7 +36,7 @@ import static org.mockito.Mockito.spy;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.james.core.Domain;
 import org.apache.james.dnsservice.api.DNSService;
 import org.apache.james.domainlist.api.DomainList;
@@ -116,7 +116,7 @@ class ForwardRoutesTest {
 
             usersRepository = MemoryUsersRepository.withVirtualHosting();
             usersRepository.setDomainList(domainList);
-            usersRepository.configure(new DefaultConfigurationBuilder());
+            usersRepository.configure(new BaseHierarchicalConfiguration());
 
             usersRepository.addUser(BOB, BOB_PASSWORD);
             usersRepository.addUser(ALICE, ALICE_PASSWORD);
diff --git a/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/src/test/java/org/apache/james/webadmin/vault/routes/DeletedMessagesVaultRoutesTest.java b/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/src/test/java/org/apache/james/webadmin/vault/routes/DeletedMessagesVaultRoutesTest.java
index 5ec3b58..3f948f5 100644
--- a/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/src/test/java/org/apache/james/webadmin/vault/routes/DeletedMessagesVaultRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/src/test/java/org/apache/james/webadmin/vault/routes/DeletedMessagesVaultRoutesTest.java
@@ -71,7 +71,7 @@ import java.util.List;
 import java.util.Optional;
 import java.util.stream.Stream;
 
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.james.blob.api.BlobId;
 import org.apache.james.blob.api.BucketName;
 import org.apache.james.blob.api.HashBlobId;
@@ -211,7 +211,7 @@ class DeletedMessagesVaultRoutesTest {
 
         MemoryUsersRepository usersRepository = MemoryUsersRepository.withVirtualHosting();
         usersRepository.setDomainList(domainList);
-        usersRepository.configure(new DefaultConfigurationBuilder());
+        usersRepository.configure(new BaseHierarchicalConfiguration());
 
         usersRepository.addUser(USER.asString(), "userPassword");
 
diff --git a/server/protocols/webadmin/webadmin-mailrepository/src/test/java/org/apache/james/webadmin/routes/MailRepositoriesRoutesTest.java b/server/protocols/webadmin/webadmin-mailrepository/src/test/java/org/apache/james/webadmin/routes/MailRepositoriesRoutesTest.java
index 31c1ada..05c713c 100644
--- a/server/protocols/webadmin/webadmin-mailrepository/src/test/java/org/apache/james/webadmin/routes/MailRepositoriesRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-mailrepository/src/test/java/org/apache/james/webadmin/routes/MailRepositoriesRoutesTest.java
@@ -45,7 +45,7 @@ import java.util.List;
 
 import javax.mail.internet.MimeMessage;
 
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.james.core.MailAddress;
 import org.apache.james.core.builder.MimeMessageBuilder;
 import org.apache.james.core.builder.MimeMessageBuilder.BodyPartBuilder;
@@ -1770,11 +1770,11 @@ public class MailRepositoriesRoutesTest {
             new MailRepositoryStoreConfiguration.Item(
                 ImmutableList.of(new Protocol("memory")),
                 MemoryMailRepository.class.getName(),
-                new HierarchicalConfiguration()),
+                new BaseHierarchicalConfiguration()),
             new MailRepositoryStoreConfiguration.Item(
                 ImmutableList.of(new Protocol("other")),
                 MemoryMailRepository.class.getName(),
-                new HierarchicalConfiguration()));
+                new BaseHierarchicalConfiguration()));
         mailRepositoryStore = new MemoryMailRepositoryStore(urlStore, Sets.newHashSet(new MemoryMailRepositoryProvider()), configuration);
 
         mailRepositoryStore.init();
diff --git a/server/protocols/webadmin/webadmin-mailrepository/src/test/java/org/apache/james/webadmin/service/ReprocessingServiceTest.java b/server/protocols/webadmin/webadmin-mailrepository/src/test/java/org/apache/james/webadmin/service/ReprocessingServiceTest.java
index 988a943..e78b819 100644
--- a/server/protocols/webadmin/webadmin-mailrepository/src/test/java/org/apache/james/webadmin/service/ReprocessingServiceTest.java
+++ b/server/protocols/webadmin/webadmin-mailrepository/src/test/java/org/apache/james/webadmin/service/ReprocessingServiceTest.java
@@ -25,7 +25,7 @@ import java.util.Optional;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.function.Consumer;
 
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.james.mailrepository.api.MailKey;
 import org.apache.james.mailrepository.api.MailRepository;
 import org.apache.james.mailrepository.api.MailRepositoryPath;
@@ -185,7 +185,7 @@ public class ReprocessingServiceTest {
             new MailRepositoryStoreConfiguration.Item(
                 ImmutableList.of(new Protocol("memory")),
                 MemoryMailRepository.class.getName(),
-                new HierarchicalConfiguration()));
+                new BaseHierarchicalConfiguration()));
 
         MemoryMailRepositoryStore mailRepositoryStore = new MemoryMailRepositoryStore(urlStore, Sets.newHashSet(new MemoryMailRepositoryProvider()), configuration);
         mailRepositoryStore.init();


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[james-project] 12/16: JAMES-2854 Component initialization is not necessary linked to configuration

Posted by bt...@apache.org.
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 b3968415bbb97099001213cbbdccb53de10c4290
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Sat Aug 10 12:58:16 2019 +0200

    JAMES-2854 Component initialization is not necessary linked to configuration
    
    This history inherited wording is confusing thus harmful...
---
 .../modules/data/CassandraDomainListModule.java    |  8 +++----
 .../data/CassandraRecipientRewriteTableModule.java |  6 ++---
 .../data/CassandraUsersRepositoryModule.java       |  8 +++----
 .../mailbox/ElasticSearchMailboxModule.java        |  6 ++---
 .../mailbox/ElasticSearchQuotaSearcherModule.java  |  6 ++---
 .../modules/metrics/CassandraMetricsModule.java    |  6 ++---
 .../CassandraMessageIdManagerInjectionTest.java    |  6 ++---
 .../james/data/LdapUsersRepositoryModule.java      |  8 +++----
 .../modules/event/RabbitMQEventBusModule.java      |  6 ++---
 ...Performer.java => InitialisationOperation.java} |  4 ++--
 .../server/ElasticSearchMetricReporterModule.java  |  6 ++---
 .../java/org/apache/james/GuiceJamesServer.java    |  4 ++--
 .../james/modules/server/DNSServiceModule.java     | 10 ++++-----
 .../modules/server/DropWizardMetricsModule.java    | 10 ++++-----
 .../modules/server/MailStoreRepositoryModule.java  |  8 +++----
 ...erformer.java => InitializationOperations.java} | 24 ++++++++++----------
 ...Test.java => InitializationOperationsTest.java} | 20 ++++++++---------
 .../james/modules/server/JMXServerModule.java      | 26 +++++++++++-----------
 .../james/modules/data/JPADomainListModule.java    |  8 +++----
 .../data/JPARecipientRewriteTableModule.java       |  6 ++---
 .../modules/data/JPAUsersRepositoryModule.java     |  8 +++----
 .../james/modules/mailbox/DefaultEventModule.java  |  6 ++---
 .../modules/server/CamelMailetContainerModule.java | 26 +++++++++++-----------
 .../james/modules/data/MemoryDataModule.java       | 16 ++++++-------
 .../org/apache/james/GuiceJamesServerTest.java     |  8 +++----
 .../james/modules/protocols/IMAPServerModule.java  |  8 +++----
 .../james/modules/protocols/JMAPServerModule.java  |  8 +++----
 .../james/modules/protocols/LMTPServerModule.java  |  8 +++----
 .../modules/protocols/ManageSieveServerModule.java |  8 +++----
 .../james/modules/protocols/POP3ServerModule.java  |  8 +++----
 .../james/modules/protocols/SMTPServerModule.java  | 12 +++++-----
 .../james/modules/server/WebAdminServerModule.java |  8 +++----
 32 files changed, 155 insertions(+), 155 deletions(-)

diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDomainListModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDomainListModule.java
index cf4769d..ac43f0e 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDomainListModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDomainListModule.java
@@ -25,7 +25,7 @@ import org.apache.james.domainlist.cassandra.CassandraDomainList;
 import org.apache.james.domainlist.lib.DomainListConfiguration;
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
-import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.InitialisationOperation;
 
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
@@ -41,7 +41,7 @@ public class CassandraDomainListModule extends AbstractModule {
         bind(CassandraDomainList.class).in(Scopes.SINGLETON);
         bind(DomainList.class).to(CassandraDomainList.class);
         Multibinder.newSetBinder(binder(), CassandraModule.class).addBinding().toInstance(org.apache.james.domainlist.cassandra.CassandraDomainListModule.MODULE);
-        Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(CassandraDomainListConfigurationPerformer.class);
+        Multibinder.newSetBinder(binder(), InitialisationOperation.class).addBinding().to(CassandraDomainListInitialisationOperation.class);
     }
 
     @Provides
@@ -55,12 +55,12 @@ public class CassandraDomainListModule extends AbstractModule {
     }
     
     @Singleton
-    public static class CassandraDomainListConfigurationPerformer implements ConfigurationPerformer {
+    public static class CassandraDomainListInitialisationOperation implements InitialisationOperation {
         private final DomainListConfiguration configuration;
         private final CassandraDomainList cassandraDomainList;
 
         @Inject
-        public CassandraDomainListConfigurationPerformer(DomainListConfiguration configuration, CassandraDomainList cassandraDomainList) {
+        public CassandraDomainListInitialisationOperation(DomainListConfiguration configuration, CassandraDomainList cassandraDomainList) {
             this.configuration = configuration;
             this.cassandraDomainList = cassandraDomainList;
         }
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraRecipientRewriteTableModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraRecipientRewriteTableModule.java
index 469e5d9..437b1ef 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraRecipientRewriteTableModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraRecipientRewriteTableModule.java
@@ -26,7 +26,7 @@ import org.apache.james.rrt.cassandra.CassandraRRTModule;
 import org.apache.james.rrt.cassandra.CassandraRecipientRewriteTable;
 import org.apache.james.rrt.cassandra.CassandraRecipientRewriteTableDAO;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
-import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.InitialisationOperation;
 
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
@@ -44,11 +44,11 @@ public class CassandraRecipientRewriteTableModule extends AbstractModule {
         bind(RecipientRewriteTable.class).to(CassandraRecipientRewriteTable.class);
         Multibinder<CassandraModule> cassandraDataDefinitions = Multibinder.newSetBinder(binder(), CassandraModule.class);
         cassandraDataDefinitions.addBinding().toInstance(CassandraRRTModule.MODULE);
-        Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(CassandraRecipientRewriteTablePerformer.class);
+        Multibinder.newSetBinder(binder(), InitialisationOperation.class).addBinding().to(CassandraRecipientRewriteTablePerformer.class);
     }
 
     @Singleton
-    public static class CassandraRecipientRewriteTablePerformer implements ConfigurationPerformer {
+    public static class CassandraRecipientRewriteTablePerformer implements InitialisationOperation {
         private final ConfigurationProvider configurationProvider;
         private final CassandraRecipientRewriteTable recipientRewriteTable;
 
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraUsersRepositoryModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraUsersRepositoryModule.java
index 5daa4af..fd2451f 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraUsersRepositoryModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraUsersRepositoryModule.java
@@ -23,7 +23,7 @@ import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
 import org.apache.james.user.api.UsersRepository;
 import org.apache.james.user.cassandra.CassandraUsersRepository;
-import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.InitialisationOperation;
 
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
@@ -39,17 +39,17 @@ public class CassandraUsersRepositoryModule extends AbstractModule {
         Multibinder<CassandraModule> cassandraDataDefinitions = Multibinder.newSetBinder(binder(), CassandraModule.class);
         cassandraDataDefinitions.addBinding().toInstance(org.apache.james.user.cassandra.CassandraUsersRepositoryModule.MODULE);
 
-        Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(CassandraUsersRepositoryConfigurationPerformer.class);
+        Multibinder.newSetBinder(binder(), InitialisationOperation.class).addBinding().to(CassandraUsersRepositoryInitialisationOperation.class);
     }
 
     @Singleton
-    public static class CassandraUsersRepositoryConfigurationPerformer implements ConfigurationPerformer {
+    public static class CassandraUsersRepositoryInitialisationOperation implements InitialisationOperation {
 
         private final ConfigurationProvider configurationProvider;
         private final CassandraUsersRepository usersRepository;
 
         @Inject
-        public CassandraUsersRepositoryConfigurationPerformer(ConfigurationProvider configurationProvider, CassandraUsersRepository usersRepository) {
+        public CassandraUsersRepositoryInitialisationOperation(ConfigurationProvider configurationProvider, CassandraUsersRepository usersRepository) {
             this.configurationProvider = configurationProvider;
             this.usersRepository = usersRepository;
         }
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java
index 252f3c0..5ac76f8 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java
@@ -46,7 +46,7 @@ import org.apache.james.mailbox.model.MailboxId;
 import org.apache.james.mailbox.model.MessageId;
 import org.apache.james.mailbox.store.search.ListeningMessageSearchIndex;
 import org.apache.james.mailbox.store.search.MessageSearchIndex;
-import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.InitialisationOperation;
 import org.apache.james.utils.PropertiesProvider;
 import org.elasticsearch.client.RestHighLevelClient;
 import org.slf4j.Logger;
@@ -83,7 +83,7 @@ public class ElasticSearchMailboxModule extends AbstractModule {
         }
     }
 
-    static class ElasticSearchMailboxIndexCreationPerformer implements ConfigurationPerformer {
+    static class ElasticSearchMailboxIndexCreationPerformer implements InitialisationOperation {
         private final MailboxIndexCreator mailboxIndexCreator;
 
         @Inject
@@ -118,7 +118,7 @@ public class ElasticSearchMailboxModule extends AbstractModule {
             .addBinding()
             .to(ElasticSearchListeningMessageSearchIndex.class);
 
-        Multibinder.newSetBinder(binder(), ConfigurationPerformer.class)
+        Multibinder.newSetBinder(binder(), InitialisationOperation.class)
             .addBinding()
             .to(ElasticSearchMailboxIndexCreationPerformer.class);
 
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchQuotaSearcherModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchQuotaSearcherModule.java
index 99c7c76..a6903f9 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchQuotaSearcherModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchQuotaSearcherModule.java
@@ -38,7 +38,7 @@ import org.apache.james.quota.search.elasticsearch.ElasticSearchQuotaSearcher;
 import org.apache.james.quota.search.elasticsearch.QuotaSearchIndexCreationUtil;
 import org.apache.james.quota.search.elasticsearch.events.ElasticSearchQuotaMailboxListener;
 import org.apache.james.quota.search.elasticsearch.json.QuotaRatioToElasticSearchJson;
-import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.InitialisationOperation;
 import org.apache.james.utils.PropertiesProvider;
 import org.elasticsearch.client.RestHighLevelClient;
 import org.slf4j.Logger;
@@ -74,7 +74,7 @@ public class ElasticSearchQuotaSearcherModule extends AbstractModule {
         }
     }
 
-    static class ElasticSearchQuotaIndexCreationPerformer implements ConfigurationPerformer {
+    static class ElasticSearchQuotaIndexCreationPerformer implements InitialisationOperation {
         private final ElasticSearchQuotaIndexCreator indexCreator;
 
         @Inject
@@ -101,7 +101,7 @@ public class ElasticSearchQuotaSearcherModule extends AbstractModule {
             .addBinding()
             .to(ElasticSearchQuotaMailboxListener.class);
 
-        Multibinder.newSetBinder(binder(), ConfigurationPerformer.class)
+        Multibinder.newSetBinder(binder(), InitialisationOperation.class)
             .addBinding()
             .to(ElasticSearchQuotaIndexCreationPerformer.class);
     }
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/metrics/CassandraMetricsModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/metrics/CassandraMetricsModule.java
index 8f728e2..b49fc8b 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/metrics/CassandraMetricsModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/metrics/CassandraMetricsModule.java
@@ -20,7 +20,7 @@
 package org.apache.james.modules.metrics;
 
 import org.apache.james.lifecycle.api.Startable;
-import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.InitialisationOperation;
 
 import com.codahale.metrics.MetricRegistry;
 import com.datastax.driver.core.Session;
@@ -36,12 +36,12 @@ public class CassandraMetricsModule extends AbstractModule {
         bind(CassandraMetricsInjector.class)
             .in(Scopes.SINGLETON);
 
-        Multibinder.newSetBinder(binder(), ConfigurationPerformer.class)
+        Multibinder.newSetBinder(binder(), InitialisationOperation.class)
             .addBinding()
             .to(CassandraMetricsInjector.class);
     }
 
-    public static class CassandraMetricsInjector implements ConfigurationPerformer, Startable {
+    public static class CassandraMetricsInjector implements InitialisationOperation, Startable {
 
         private final MetricRegistry metricRegistry;
         private final Session session;
diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraMessageIdManagerInjectionTest.java b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraMessageIdManagerInjectionTest.java
index 53701eb..c8aa695 100644
--- a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraMessageIdManagerInjectionTest.java
+++ b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraMessageIdManagerInjectionTest.java
@@ -29,7 +29,7 @@ import org.apache.james.mailbox.MessageIdManager;
 import org.apache.james.mailbox.extractor.TextExtractor;
 import org.apache.james.mailbox.store.search.PDFTextExtractor;
 import org.apache.james.modules.TestJMAPServerModule;
-import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.InitialisationOperation;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.RegisterExtension;
 
@@ -46,7 +46,7 @@ class CassandraMessageIdManagerInjectionTest {
             .combineWith(ALL_BUT_JMX_CASSANDRA_MODULE)
             .overrideWith(binder -> binder.bind(TextExtractor.class).to(PDFTextExtractor.class))
             .overrideWith(new TestJMAPServerModule(LIMIT_TO_10_MESSAGES))
-            .overrideWith(binder -> Multibinder.newSetBinder(binder, ConfigurationPerformer.class)
+            .overrideWith(binder -> Multibinder.newSetBinder(binder, InitialisationOperation.class)
                 .addBinding()
                 .to(CallMe.class)))
         .disableAutoStart()
@@ -57,7 +57,7 @@ class CassandraMessageIdManagerInjectionTest {
         assertThatCode(server::start).doesNotThrowAnyException();
     }
 
-    public static class CallMe implements ConfigurationPerformer, Startable {
+    public static class CallMe implements InitialisationOperation, Startable {
         @Inject
         public CallMe(MessageIdManager messageIdManager) {
         }
diff --git a/server/container/guice/cassandra-ldap-guice/src/main/java/org/apache/james/data/LdapUsersRepositoryModule.java b/server/container/guice/cassandra-ldap-guice/src/main/java/org/apache/james/data/LdapUsersRepositoryModule.java
index 409d729..b580b67 100644
--- a/server/container/guice/cassandra-ldap-guice/src/main/java/org/apache/james/data/LdapUsersRepositoryModule.java
+++ b/server/container/guice/cassandra-ldap-guice/src/main/java/org/apache/james/data/LdapUsersRepositoryModule.java
@@ -24,7 +24,7 @@ import org.apache.james.server.core.configuration.ConfigurationProvider;
 import org.apache.james.user.api.UsersRepository;
 import org.apache.james.user.ldap.LdapRepositoryConfiguration;
 import org.apache.james.user.ldap.ReadOnlyUsersLDAPRepository;
-import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.InitialisationOperation;
 
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
@@ -40,7 +40,7 @@ public class LdapUsersRepositoryModule extends AbstractModule {
         bind(ReadOnlyUsersLDAPRepository.class).in(Scopes.SINGLETON);
         bind(UsersRepository.class).to(ReadOnlyUsersLDAPRepository.class);
 
-        Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(LdapUsersRepositoryConfigurationPerformer.class);
+        Multibinder.newSetBinder(binder(), InitialisationOperation.class).addBinding().to(LdapUsersRepositoryInitialisationOperation.class);
     }
 
     @Provides
@@ -51,12 +51,12 @@ public class LdapUsersRepositoryModule extends AbstractModule {
     }
 
     @Singleton
-    public static class LdapUsersRepositoryConfigurationPerformer implements ConfigurationPerformer {
+    public static class LdapUsersRepositoryInitialisationOperation implements InitialisationOperation {
         private final LdapRepositoryConfiguration configuration;
         private final ReadOnlyUsersLDAPRepository usersRepository;
 
         @Inject
-        public LdapUsersRepositoryConfigurationPerformer(LdapRepositoryConfiguration configuration, ReadOnlyUsersLDAPRepository usersRepository) {
+        public LdapUsersRepositoryInitialisationOperation(LdapRepositoryConfiguration configuration, ReadOnlyUsersLDAPRepository usersRepository) {
             this.configuration = configuration;
             this.usersRepository = usersRepository;
         }
diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/event/RabbitMQEventBusModule.java b/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/event/RabbitMQEventBusModule.java
index b064112..1756b0a 100644
--- a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/event/RabbitMQEventBusModule.java
+++ b/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/event/RabbitMQEventBusModule.java
@@ -26,7 +26,7 @@ import org.apache.james.mailbox.events.MailboxIdRegistrationKey;
 import org.apache.james.mailbox.events.RabbitMQEventBus;
 import org.apache.james.mailbox.events.RegistrationKey;
 import org.apache.james.mailbox.events.RetryBackoffConfiguration;
-import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.InitialisationOperation;
 
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
@@ -45,13 +45,13 @@ public class RabbitMQEventBusModule extends AbstractModule {
         Multibinder.newSetBinder(binder(), RegistrationKey.Factory.class)
             .addBinding().to(MailboxIdRegistrationKey.Factory.class);
 
-        Multibinder.newSetBinder(binder(), ConfigurationPerformer.class)
+        Multibinder.newSetBinder(binder(), InitialisationOperation.class)
             .addBinding().to(RabbitMQEventBusInitializer.class);
 
         bind(RetryBackoffConfiguration.class).toInstance(RetryBackoffConfiguration.DEFAULT);
     }
 
-    static class RabbitMQEventBusInitializer implements ConfigurationPerformer {
+    static class RabbitMQEventBusInitializer implements InitialisationOperation {
         private final RabbitMQEventBus rabbitMQEventBus;
 
         @Inject
diff --git a/server/container/guice/configuration/src/main/java/org/apache/james/utils/ConfigurationPerformer.java b/server/container/guice/configuration/src/main/java/org/apache/james/utils/InitialisationOperation.java
similarity index 93%
rename from server/container/guice/configuration/src/main/java/org/apache/james/utils/ConfigurationPerformer.java
rename to server/container/guice/configuration/src/main/java/org/apache/james/utils/InitialisationOperation.java
index 19930c2..ba3f1bf 100644
--- a/server/container/guice/configuration/src/main/java/org/apache/james/utils/ConfigurationPerformer.java
+++ b/server/container/guice/configuration/src/main/java/org/apache/james/utils/InitialisationOperation.java
@@ -21,13 +21,13 @@ package org.apache.james.utils;
 
 import org.apache.james.lifecycle.api.Startable;
 
-public interface ConfigurationPerformer {
+public interface InitialisationOperation {
 
     void initModule() throws Exception;
 
     /**
      * In order to initialize components in the right order, every
-     * {@link ConfigurationPerformer} is supposed to declare which
+     * {@link InitialisationOperation} is supposed to declare which
      * class it will initialize.
      *
      * @return the Class that this object will initialize.
diff --git a/server/container/guice/es-metric-reporter/src/main/java/org/apache/james/modules/server/ElasticSearchMetricReporterModule.java b/server/container/guice/es-metric-reporter/src/main/java/org/apache/james/modules/server/ElasticSearchMetricReporterModule.java
index 343f839..28e59cb 100644
--- a/server/container/guice/es-metric-reporter/src/main/java/org/apache/james/modules/server/ElasticSearchMetricReporterModule.java
+++ b/server/container/guice/es-metric-reporter/src/main/java/org/apache/james/modules/server/ElasticSearchMetricReporterModule.java
@@ -26,7 +26,7 @@ import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.metrics.es.ESMetricReporter;
 import org.apache.james.metrics.es.ESReporterConfiguration;
-import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.InitialisationOperation;
 import org.apache.james.utils.PropertiesProvider;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -48,7 +48,7 @@ public class ElasticSearchMetricReporterModule extends AbstractModule {
 
     @Override
     protected void configure() {
-        Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(ESMetricReporterStarter.class);
+        Multibinder.newSetBinder(binder(), InitialisationOperation.class).addBinding().to(ESMetricReporterStarter.class);
     }
 
     @Provides
@@ -84,7 +84,7 @@ public class ElasticSearchMetricReporterModule extends AbstractModule {
     }
 
     @Singleton
-    public static class ESMetricReporterStarter implements ConfigurationPerformer {
+    public static class ESMetricReporterStarter implements InitialisationOperation {
         private final ESMetricReporter esMetricReporter;
 
         @Inject
diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/GuiceJamesServer.java b/server/container/guice/guice-common/src/main/java/org/apache/james/GuiceJamesServer.java
index d1d5eed..76d59ad 100644
--- a/server/container/guice/guice-common/src/main/java/org/apache/james/GuiceJamesServer.java
+++ b/server/container/guice/guice-common/src/main/java/org/apache/james/GuiceJamesServer.java
@@ -28,7 +28,7 @@ import org.apache.james.modules.IsStartedProbeModule;
 import org.apache.james.modules.MailetProcessingModule;
 import org.apache.james.onami.lifecycle.Stager;
 import org.apache.james.server.core.configuration.Configuration;
-import org.apache.james.utils.ConfigurationsPerformer;
+import org.apache.james.utils.InitializationOperations;
 import org.apache.james.utils.GuiceProbe;
 import org.apache.james.utils.GuiceProbeProvider;
 
@@ -80,7 +80,7 @@ public class GuiceJamesServer {
         preDestroy = injector.getInstance(Key.get(new TypeLiteral<Stager<PreDestroy>>() {}));
         injector.getInstance(StartUpChecksPerformer.class)
             .performCheck();
-        injector.getInstance(ConfigurationsPerformer.class).initModules();
+        injector.getInstance(InitializationOperations.class).initModules();
         guiceProbeProvider = injector.getInstance(GuiceProbeProvider.class);
         isStartedProbe.notifyStarted();
     }
diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/DNSServiceModule.java b/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/DNSServiceModule.java
index 563b208..7a57cf3 100644
--- a/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/DNSServiceModule.java
+++ b/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/DNSServiceModule.java
@@ -22,7 +22,7 @@ import org.apache.james.dnsservice.api.DNSService;
 import org.apache.james.dnsservice.dnsjava.DNSJavaService;
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
-import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.InitialisationOperation;
 
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
@@ -36,17 +36,17 @@ public class DNSServiceModule extends AbstractModule {
     protected void configure() {
         bind(DNSJavaService.class).in(Scopes.SINGLETON);
         bind(DNSService.class).to(DNSJavaService.class);
-        Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(DNSServiceConfigurationPerformer.class);
+        Multibinder.newSetBinder(binder(), InitialisationOperation.class).addBinding().to(DNSServiceInitialisationOperation.class);
     }
 
     @Singleton
-    public static class DNSServiceConfigurationPerformer implements ConfigurationPerformer {
+    public static class DNSServiceInitialisationOperation implements InitialisationOperation {
         private final ConfigurationProvider configurationProvider;
         private final DNSJavaService dnsService;
 
         @Inject
-        public DNSServiceConfigurationPerformer(ConfigurationProvider configurationProvider,
-                                                DNSJavaService dnsService) {
+        public DNSServiceInitialisationOperation(ConfigurationProvider configurationProvider,
+                                                 DNSJavaService dnsService) {
             this.configurationProvider = configurationProvider;
             this.dnsService = dnsService;
         }
diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/DropWizardMetricsModule.java b/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/DropWizardMetricsModule.java
index 047b783..f705396 100644
--- a/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/DropWizardMetricsModule.java
+++ b/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/DropWizardMetricsModule.java
@@ -25,7 +25,7 @@ import org.apache.james.metrics.api.MetricFactory;
 import org.apache.james.metrics.dropwizard.DropWizardGaugeRegistry;
 import org.apache.james.metrics.dropwizard.DropWizardJVMMetrics;
 import org.apache.james.metrics.dropwizard.DropWizardMetricFactory;
-import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.InitialisationOperation;
 
 import com.codahale.metrics.MetricRegistry;
 import com.google.inject.AbstractModule;
@@ -46,16 +46,16 @@ public class DropWizardMetricsModule extends AbstractModule {
 
         bind(GaugeRegistry.class).to(DropWizardGaugeRegistry.class);
 
-        Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(DropWizardConfigurationPerformer.class);
+        Multibinder.newSetBinder(binder(), InitialisationOperation.class).addBinding().to(DropWizardInitialisationOperation.class);
     }
 
     @Singleton
-    public static class DropWizardConfigurationPerformer implements ConfigurationPerformer, Startable {
+    public static class DropWizardInitialisationOperation implements InitialisationOperation, Startable {
         private final DropWizardMetricFactory dropWizardMetricFactory;
         private final DropWizardJVMMetrics dropWizardJVMMetrics;
 
         @Inject
-        public DropWizardConfigurationPerformer(DropWizardMetricFactory dropWizardMetricFactory, DropWizardJVMMetrics dropWizardJVMMetrics) {
+        public DropWizardInitialisationOperation(DropWizardMetricFactory dropWizardMetricFactory, DropWizardJVMMetrics dropWizardJVMMetrics) {
             this.dropWizardMetricFactory = dropWizardMetricFactory;
             this.dropWizardJVMMetrics = dropWizardJVMMetrics;
         }
@@ -68,7 +68,7 @@ public class DropWizardMetricsModule extends AbstractModule {
 
         @Override
         public Class<? extends Startable> forClass() {
-            return DropWizardConfigurationPerformer.class;
+            return DropWizardInitialisationOperation.class;
         }
     }
 }
diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java b/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java
index 891b3ea..701bb70 100644
--- a/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java
+++ b/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java
@@ -30,7 +30,7 @@ import org.apache.james.mailrepository.file.FileMailRepositoryProvider;
 import org.apache.james.mailrepository.memory.MailRepositoryStoreConfiguration;
 import org.apache.james.mailrepository.memory.MemoryMailRepositoryStore;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
-import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.InitialisationOperation;
 import org.apache.james.utils.GuiceProbe;
 import org.apache.james.utils.MailRepositoryProbeImpl;
 import org.slf4j.Logger;
@@ -56,7 +56,7 @@ public class MailStoreRepositoryModule extends AbstractModule {
 
         Multibinder<MailRepositoryProvider> multibinder = Multibinder.newSetBinder(binder(), MailRepositoryProvider.class);
         multibinder.addBinding().to(FileMailRepositoryProvider.class);
-        Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(MailRepositoryStoreModuleConfigurationPerformer.class);
+        Multibinder.newSetBinder(binder(), InitialisationOperation.class).addBinding().to(MailRepositoryStoreModuleInitialisationOperation.class);
         Multibinder.newSetBinder(binder(), GuiceProbe.class).addBinding().to(MailRepositoryProbeImpl.class);
     }
 
@@ -73,11 +73,11 @@ public class MailStoreRepositoryModule extends AbstractModule {
     }
 
     @Singleton
-    public static class MailRepositoryStoreModuleConfigurationPerformer implements ConfigurationPerformer {
+    public static class MailRepositoryStoreModuleInitialisationOperation implements InitialisationOperation {
         private final MemoryMailRepositoryStore javaMailRepositoryStore;
 
         @Inject
-        public MailRepositoryStoreModuleConfigurationPerformer(MemoryMailRepositoryStore javaMailRepositoryStore) {
+        public MailRepositoryStoreModuleInitialisationOperation(MemoryMailRepositoryStore javaMailRepositoryStore) {
             this.javaMailRepositoryStore = javaMailRepositoryStore;
         }
 
diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/utils/ConfigurationsPerformer.java b/server/container/guice/guice-common/src/main/java/org/apache/james/utils/InitializationOperations.java
similarity index 68%
rename from server/container/guice/guice-common/src/main/java/org/apache/james/utils/ConfigurationsPerformer.java
rename to server/container/guice/guice-common/src/main/java/org/apache/james/utils/InitializationOperations.java
index 227f5f7..7988349 100644
--- a/server/container/guice/guice-common/src/main/java/org/apache/james/utils/ConfigurationsPerformer.java
+++ b/server/container/guice/guice-common/src/main/java/org/apache/james/utils/InitializationOperations.java
@@ -28,39 +28,39 @@ import org.apache.james.lifecycle.api.Startable;
 import com.github.fge.lambdas.Throwing;
 import com.google.inject.Inject;
 
-public class ConfigurationsPerformer {
+public class InitializationOperations {
 
-    private final Set<ConfigurationPerformer> configurationPerformers;
+    private final Set<InitialisationOperation> initialisationOperations;
     private final Startables configurables;
 
     @Inject
-    public ConfigurationsPerformer(Set<ConfigurationPerformer> configurationPerformers, Startables configurables) {
-        this.configurationPerformers = configurationPerformers;
+    public InitializationOperations(Set<InitialisationOperation> initialisationOperations, Startables configurables) {
+        this.initialisationOperations = initialisationOperations;
         this.configurables = configurables;
     }
 
     public void initModules() throws Exception {
-        Set<ConfigurationPerformer> processed = processConfigurables();
+        Set<InitialisationOperation> processed = processConfigurables();
         
         processOthers(processed);
     }
 
-    private Set<ConfigurationPerformer> processConfigurables() {
+    private Set<InitialisationOperation> processConfigurables() {
         return configurables.get().stream()
             .flatMap(this::configurationPerformerFor)
             .distinct()
-            .peek(Throwing.consumer(ConfigurationPerformer::initModule).sneakyThrow())
+            .peek(Throwing.consumer(InitialisationOperation::initModule).sneakyThrow())
             .collect(Collectors.toSet());
     }
 
-    private Stream<ConfigurationPerformer> configurationPerformerFor(Class<? extends Startable> configurable) {
-        return configurationPerformers.stream()
+    private Stream<InitialisationOperation> configurationPerformerFor(Class<? extends Startable> configurable) {
+        return initialisationOperations.stream()
                 .filter(x -> x.forClass().equals(configurable));
     }
 
-    private void processOthers(Set<ConfigurationPerformer> processed) {
-        configurationPerformers.stream()
+    private void processOthers(Set<InitialisationOperation> processed) {
+        initialisationOperations.stream()
             .filter(x -> !processed.contains(x))
-            .forEach(Throwing.consumer(ConfigurationPerformer::initModule).sneakyThrow());
+            .forEach(Throwing.consumer(InitialisationOperation::initModule).sneakyThrow());
     }
 }
diff --git a/server/container/guice/guice-common/src/test/java/org/apache/james/modules/ConfigurationsPerformerTest.java b/server/container/guice/guice-common/src/test/java/org/apache/james/modules/InitializationOperationsTest.java
similarity index 85%
rename from server/container/guice/guice-common/src/test/java/org/apache/james/modules/ConfigurationsPerformerTest.java
rename to server/container/guice/guice-common/src/test/java/org/apache/james/modules/InitializationOperationsTest.java
index 1228f51..e443b97 100644
--- a/server/container/guice/guice-common/src/test/java/org/apache/james/modules/ConfigurationsPerformerTest.java
+++ b/server/container/guice/guice-common/src/test/java/org/apache/james/modules/InitializationOperationsTest.java
@@ -27,8 +27,8 @@ import org.apache.commons.configuration2.HierarchicalConfiguration;
 import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.lifecycle.api.Configurable;
 import org.apache.james.lifecycle.api.Startable;
-import org.apache.james.utils.ConfigurationPerformer;
-import org.apache.james.utils.ConfigurationsPerformer;
+import org.apache.james.utils.InitialisationOperation;
+import org.apache.james.utils.InitializationOperations;
 import org.junit.Test;
 
 import com.google.inject.Guice;
@@ -36,14 +36,14 @@ import com.google.inject.Injector;
 import com.google.inject.Scopes;
 import com.google.inject.multibindings.Multibinder;
 
-public class ConfigurationsPerformerTest {
+public class InitializationOperationsTest {
 
     @Test
     public void initModulesShouldNotFailWhenBindingsInWrongOrder() throws Exception {
         Injector injector = Guice.createInjector(new StartablesModule(),
                 new UnorderedBindingsModule());
 
-        injector.getInstance(ConfigurationsPerformer.class).initModules();
+        injector.getInstance(InitializationOperations.class).initModules();
 
         assertThat(injector.getInstance(A.class).isConfigured()).isTrue();
         assertThat(injector.getInstance(B.class).isConfigured()).isTrue();
@@ -57,16 +57,16 @@ public class ConfigurationsPerformerTest {
             bind(A.class).in(Scopes.SINGLETON);
             bind(C.class).in(Scopes.SINGLETON);
     
-            Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(BConfigurationPerformer.class);
-            Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(AConfigurationPerformer.class);
+            Multibinder.newSetBinder(binder(), InitialisationOperation.class).addBinding().to(BInitialisationOperation.class);
+            Multibinder.newSetBinder(binder(), InitialisationOperation.class).addBinding().to(AInitialisationOperation.class);
         }
     }
 
-    private static class AConfigurationPerformer implements ConfigurationPerformer {
+    private static class AInitialisationOperation implements InitialisationOperation {
         private final A a;
 
         @Inject
-        private AConfigurationPerformer(A a) {
+        private AInitialisationOperation(A a) {
             this.a = a;
         }
 
@@ -85,11 +85,11 @@ public class ConfigurationsPerformerTest {
         }
     }
 
-    private static class BConfigurationPerformer implements ConfigurationPerformer {
+    private static class BInitialisationOperation implements InitialisationOperation {
         private final B b;
 
         @Inject
-        private BConfigurationPerformer(B b) {
+        private BInitialisationOperation(B b) {
             this.b = b;
         }
 
diff --git a/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JMXServerModule.java b/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JMXServerModule.java
index e6b1c14..692931a 100644
--- a/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JMXServerModule.java
+++ b/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JMXServerModule.java
@@ -45,7 +45,7 @@ import org.apache.james.sieverepository.api.SieveRepositoryManagementMBean;
 import org.apache.james.sieverepository.lib.SieveRepositoryManagement;
 import org.apache.james.user.api.UsersRepositoryManagementMBean;
 import org.apache.james.user.lib.UsersRepositoryManagement;
-import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.InitialisationOperation;
 import org.apache.james.utils.GuiceMailboxManagerResolver;
 import org.apache.james.utils.PropertiesProvider;
 import org.apache.mailbox.tools.indexer.ReIndexerImpl;
@@ -96,8 +96,8 @@ public class JMXServerModule extends AbstractModule {
         bind(ReIndexerManagementMBean.class).to(ReIndexerManagement.class);
         bind(QuotaManagementMBean.class).to(QuotaManagement.class);
         bind(SieveRepositoryManagementMBean.class).to(SieveRepositoryManagement.class);
-        Multibinder<ConfigurationPerformer> configurationMultibinder = Multibinder.newSetBinder(binder(), ConfigurationPerformer.class);
-        configurationMultibinder.addBinding().to(JMXModuleConfigurationPerformer.class);
+        Multibinder<InitialisationOperation> configurationMultibinder = Multibinder.newSetBinder(binder(), InitialisationOperation.class);
+        configurationMultibinder.addBinding().to(JMXModuleInitialisationOperation.class);
     }
 
     @Provides
@@ -112,7 +112,7 @@ public class JMXServerModule extends AbstractModule {
     }
 
     @Singleton
-    public static class JMXModuleConfigurationPerformer implements ConfigurationPerformer {
+    public static class JMXModuleInitialisationOperation implements InitialisationOperation {
 
         private final JMXServer jmxServer;
         private final DomainListManagementMBean domainListManagementMBean;
@@ -125,15 +125,15 @@ public class JMXServerModule extends AbstractModule {
         private final SieveRepositoryManagementMBean sieveRepositoryManagementMBean;
 
         @Inject
-        public JMXModuleConfigurationPerformer(JMXServer jmxServer,
-                                               DomainListManagementMBean domainListManagementMBean,
-                                               UsersRepositoryManagementMBean usersRepositoryManagementMBean,
-                                               RecipientRewriteTableManagementMBean recipientRewriteTableManagementMBean,
-                                               MailboxManagerManagementMBean mailboxManagerManagementMBean,
-                                               MailboxCopierManagementMBean mailboxCopierManagementMBean,
-                                               ReIndexerManagementMBean reIndexerManagementMBean,
-                                               QuotaManagementMBean quotaManagementMBean,
-                                               SieveRepositoryManagementMBean sieveRepositoryManagementMBean) {
+        public JMXModuleInitialisationOperation(JMXServer jmxServer,
+                                                DomainListManagementMBean domainListManagementMBean,
+                                                UsersRepositoryManagementMBean usersRepositoryManagementMBean,
+                                                RecipientRewriteTableManagementMBean recipientRewriteTableManagementMBean,
+                                                MailboxManagerManagementMBean mailboxManagerManagementMBean,
+                                                MailboxCopierManagementMBean mailboxCopierManagementMBean,
+                                                ReIndexerManagementMBean reIndexerManagementMBean,
+                                                QuotaManagementMBean quotaManagementMBean,
+                                                SieveRepositoryManagementMBean sieveRepositoryManagementMBean) {
             this.jmxServer = jmxServer;
             this.domainListManagementMBean = domainListManagementMBean;
             this.usersRepositoryManagementMBean = usersRepositoryManagementMBean;
diff --git a/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPADomainListModule.java b/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPADomainListModule.java
index 970d182..07bfe5c 100644
--- a/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPADomainListModule.java
+++ b/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPADomainListModule.java
@@ -24,7 +24,7 @@ import org.apache.james.domainlist.jpa.JPADomainList;
 import org.apache.james.domainlist.lib.DomainListConfiguration;
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
-import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.InitialisationOperation;
 
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
@@ -39,7 +39,7 @@ public class JPADomainListModule extends AbstractModule {
     public void configure() {
         bind(JPADomainList.class).in(Scopes.SINGLETON);
         bind(DomainList.class).to(JPADomainList.class);
-        Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(JPADomainListConfigurationPerformer.class);
+        Multibinder.newSetBinder(binder(), InitialisationOperation.class).addBinding().to(JPADomainListInitialisationOperation.class);
     }
 
     @Provides
@@ -53,12 +53,12 @@ public class JPADomainListModule extends AbstractModule {
     }
     
     @Singleton
-    public static class JPADomainListConfigurationPerformer implements ConfigurationPerformer {
+    public static class JPADomainListInitialisationOperation implements InitialisationOperation {
         private final DomainListConfiguration configuration;
         private final JPADomainList jpaDomainList;
 
         @Inject
-        public JPADomainListConfigurationPerformer(DomainListConfiguration configuration, JPADomainList jpaDomainList) {
+        public JPADomainListInitialisationOperation(DomainListConfiguration configuration, JPADomainList jpaDomainList) {
             this.configuration = configuration;
             this.jpaDomainList = jpaDomainList;
         }
diff --git a/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPARecipientRewriteTableModule.java b/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPARecipientRewriteTableModule.java
index ea39108..47c0737 100644
--- a/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPARecipientRewriteTableModule.java
+++ b/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPARecipientRewriteTableModule.java
@@ -22,7 +22,7 @@ import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.rrt.api.RecipientRewriteTable;
 import org.apache.james.rrt.jpa.JPARecipientRewriteTable;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
-import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.InitialisationOperation;
 
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
@@ -36,11 +36,11 @@ public class JPARecipientRewriteTableModule extends AbstractModule {
     public void configure() {
         bind(JPARecipientRewriteTable.class).in(Scopes.SINGLETON);
         bind(RecipientRewriteTable.class).to(JPARecipientRewriteTable.class);
-        Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(JPARecipientRewriteTablePerformer.class);
+        Multibinder.newSetBinder(binder(), InitialisationOperation.class).addBinding().to(JPARecipientRewriteTablePerformer.class);
     }
 
     @Singleton
-    public static class JPARecipientRewriteTablePerformer implements ConfigurationPerformer {
+    public static class JPARecipientRewriteTablePerformer implements InitialisationOperation {
         private final ConfigurationProvider configurationProvider;
         private final JPARecipientRewriteTable recipientRewriteTable;
 
diff --git a/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPAUsersRepositoryModule.java b/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPAUsersRepositoryModule.java
index 9ab96da..75f5aa2 100644
--- a/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPAUsersRepositoryModule.java
+++ b/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPAUsersRepositoryModule.java
@@ -22,7 +22,7 @@ import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
 import org.apache.james.user.api.UsersRepository;
 import org.apache.james.user.jpa.JPAUsersRepository;
-import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.InitialisationOperation;
 
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
@@ -36,16 +36,16 @@ public class JPAUsersRepositoryModule extends AbstractModule {
         bind(JPAUsersRepository.class).in(Scopes.SINGLETON);
         bind(UsersRepository.class).to(JPAUsersRepository.class);
 
-        Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(JPAUsersRepositoryConfigurationPerformer.class);
+        Multibinder.newSetBinder(binder(), InitialisationOperation.class).addBinding().to(JPAUsersRepositoryInitialisationOperation.class);
     }
 
     @Singleton
-    public static class JPAUsersRepositoryConfigurationPerformer implements ConfigurationPerformer {
+    public static class JPAUsersRepositoryInitialisationOperation implements InitialisationOperation {
         private final ConfigurationProvider configurationProvider;
         private final JPAUsersRepository usersRepository;
 
         @Inject
-        public JPAUsersRepositoryConfigurationPerformer(ConfigurationProvider configurationProvider, JPAUsersRepository usersRepository) {
+        public JPAUsersRepositoryInitialisationOperation(ConfigurationProvider configurationProvider, JPAUsersRepository usersRepository) {
             this.configurationProvider = configurationProvider;
             this.usersRepository = usersRepository;
         }
diff --git a/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/DefaultEventModule.java b/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/DefaultEventModule.java
index 3d32d08..4d6eafd 100644
--- a/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/DefaultEventModule.java
+++ b/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/DefaultEventModule.java
@@ -32,7 +32,7 @@ import org.apache.james.mailbox.events.RetryBackoffConfiguration;
 import org.apache.james.mailbox.events.delivery.EventDelivery;
 import org.apache.james.mailbox.events.delivery.InVmEventDelivery;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
-import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.InitialisationOperation;
 
 import com.google.inject.AbstractModule;
 import com.google.inject.Provides;
@@ -43,7 +43,7 @@ import com.google.inject.multibindings.Multibinder;
 public class DefaultEventModule extends AbstractModule {
     @Override
     protected void configure() {
-        Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(ListenerRegistrationPerformer.class);
+        Multibinder.newSetBinder(binder(), InitialisationOperation.class).addBinding().to(ListenerRegistrationPerformer.class);
 
         bind(MailboxListenerFactory.class).in(Scopes.SINGLETON);
         bind(MailboxListenersLoaderImpl.class).in(Scopes.SINGLETON);
@@ -68,7 +68,7 @@ public class DefaultEventModule extends AbstractModule {
     }
 
     @Singleton
-    public static class ListenerRegistrationPerformer implements ConfigurationPerformer {
+    public static class ListenerRegistrationPerformer implements InitialisationOperation {
         private final MailboxListenersLoaderImpl listeners;
         private final ListenersConfiguration configuration;
 
diff --git a/server/container/guice/mailet/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java b/server/container/guice/mailet/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java
index d3f075b..3878944 100644
--- a/server/container/guice/mailet/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java
+++ b/server/container/guice/mailet/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java
@@ -42,7 +42,7 @@ import org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
 import org.apache.james.transport.mailets.RemoveMimeHeader;
 import org.apache.james.transport.matchers.All;
-import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.InitialisationOperation;
 import org.apache.james.utils.GuiceMailetLoader;
 import org.apache.james.utils.GuiceMatcherLoader;
 import org.apache.james.utils.GuiceProbe;
@@ -88,10 +88,10 @@ public class CamelMailetContainerModule extends AbstractModule {
 
         Multibinder.newSetBinder(binder(), MailetConfigurationOverride.class);
         Multibinder.newSetBinder(binder(), GuiceProbe.class).addBinding().to(SpoolerProbe.class);
-        Multibinder<ConfigurationPerformer> configurationPerformers = Multibinder.newSetBinder(binder(), ConfigurationPerformer.class);
-        configurationPerformers.addBinding().to(MailetModuleConfigurationPerformer.class);
-        configurationPerformers.addBinding().to(SpoolerStarter.class);
-        configurationPerformers.addBinding().to(MailetContextConfigurationPerformer.class);
+        Multibinder<InitialisationOperation> initialisationOperations = Multibinder.newSetBinder(binder(), InitialisationOperation.class);
+        initialisationOperations.addBinding().to(MailetModuleInitialisationOperation.class);
+        initialisationOperations.addBinding().to(SpoolerStarter.class);
+        initialisationOperations.addBinding().to(MailetContextInitialisationOperation.class);
 
         Multibinder<CamelMailetContainerModule.TransportProcessorCheck> transportProcessorChecks = Multibinder.newSetBinder(binder(), CamelMailetContainerModule.TransportProcessorCheck.class);
         transportProcessorChecks.addBinding().toInstance(BCC_Check);
@@ -107,7 +107,7 @@ public class CamelMailetContainerModule extends AbstractModule {
     }
 
     @Singleton
-    public static class SpoolerStarter implements ConfigurationPerformer {
+    public static class SpoolerStarter implements InitialisationOperation {
         private final CamelCompositeProcessor camelCompositeProcessor;
         private final JamesMailSpooler jamesMailSpooler;
         private final ConfigurationProvider configurationProvider;
@@ -143,12 +143,12 @@ public class CamelMailetContainerModule extends AbstractModule {
     }
 
     @Singleton
-    public static class MailetContextConfigurationPerformer implements ConfigurationPerformer {
+    public static class MailetContextInitialisationOperation implements InitialisationOperation {
         private final ConfigurationProvider configurationProvider;
         private final JamesMailetContext mailetContext;
 
         @Inject
-        public MailetContextConfigurationPerformer(ConfigurationProvider configurationProvider, JamesMailetContext mailetContext) {
+        public MailetContextInitialisationOperation(ConfigurationProvider configurationProvider, JamesMailetContext mailetContext) {
             this.configurationProvider = configurationProvider;
             this.mailetContext = mailetContext;
         }
@@ -175,7 +175,7 @@ public class CamelMailetContainerModule extends AbstractModule {
     }
 
     @Singleton
-    public static class MailetModuleConfigurationPerformer implements ConfigurationPerformer {
+    public static class MailetModuleInitialisationOperation implements InitialisationOperation {
         private final ConfigurationProvider configurationProvider;
         private final CamelCompositeProcessor camelCompositeProcessor;
         private final DefaultProcessorsConfigurationSupplier defaultProcessorsConfigurationSupplier;
@@ -183,10 +183,10 @@ public class CamelMailetContainerModule extends AbstractModule {
         private final DefaultCamelContext camelContext;
 
         @Inject
-        public MailetModuleConfigurationPerformer(ConfigurationProvider configurationProvider,
-                                                  CamelCompositeProcessor camelCompositeProcessor,
-                                                  Set<TransportProcessorCheck> transportProcessorCheckSet,
-                                                  DefaultProcessorsConfigurationSupplier defaultProcessorsConfigurationSupplier, DefaultCamelContext camelContext) {
+        public MailetModuleInitialisationOperation(ConfigurationProvider configurationProvider,
+                                                   CamelCompositeProcessor camelCompositeProcessor,
+                                                   Set<TransportProcessorCheck> transportProcessorCheckSet,
+                                                   DefaultProcessorsConfigurationSupplier defaultProcessorsConfigurationSupplier, DefaultCamelContext camelContext) {
             this.configurationProvider = configurationProvider;
             this.camelCompositeProcessor = camelCompositeProcessor;
             this.transportProcessorCheckSet = transportProcessorCheckSet;
diff --git a/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/data/MemoryDataModule.java b/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/data/MemoryDataModule.java
index f47f983..2b09793 100644
--- a/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/data/MemoryDataModule.java
+++ b/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/data/MemoryDataModule.java
@@ -40,7 +40,7 @@ import org.apache.james.rrt.memory.MemoryRecipientRewriteTable;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
 import org.apache.james.user.api.UsersRepository;
 import org.apache.james.user.memory.MemoryUsersRepository;
-import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.InitialisationOperation;
 
 import com.google.common.collect.ImmutableList;
 import com.google.inject.AbstractModule;
@@ -78,9 +78,9 @@ public class MemoryDataModule extends AbstractModule {
         bind(EventSourcingDLPConfigurationStore.class).in(Scopes.SINGLETON);
         bind(DLPConfigurationStore.class).to(EventSourcingDLPConfigurationStore.class);
 
-        Multibinder<ConfigurationPerformer> configurationPerformers = Multibinder.newSetBinder(binder(), ConfigurationPerformer.class);
-        configurationPerformers.addBinding().to(MemoryRRTConfigurationPerformer.class);
-        configurationPerformers.addBinding().to(MemoryDomainListConfigurationPerformer.class);
+        Multibinder<InitialisationOperation> initialisationOperations = Multibinder.newSetBinder(binder(), InitialisationOperation.class);
+        initialisationOperations.addBinding().to(MemoryRRTInitialisationOperation.class);
+        initialisationOperations.addBinding().to(MemoryDomainListInitialisationOperation.class);
 
         bind(MailStoreRepositoryModule.DefaultItemSupplier.class).toInstance(() -> MEMORY_MAILREPOSITORY_DEFAULT_DECLARATION);
 
@@ -99,12 +99,12 @@ public class MemoryDataModule extends AbstractModule {
     }
 
     @Singleton
-    public static class MemoryDomainListConfigurationPerformer implements ConfigurationPerformer {
+    public static class MemoryDomainListInitialisationOperation implements InitialisationOperation {
         private final DomainListConfiguration domainListConfiguration;
         private final MemoryDomainList memoryDomainList;
 
         @Inject
-        public MemoryDomainListConfigurationPerformer(DomainListConfiguration domainListConfiguration, MemoryDomainList memoryDomainList) {
+        public MemoryDomainListInitialisationOperation(DomainListConfiguration domainListConfiguration, MemoryDomainList memoryDomainList) {
             this.domainListConfiguration = domainListConfiguration;
             this.memoryDomainList = memoryDomainList;
         }
@@ -121,12 +121,12 @@ public class MemoryDataModule extends AbstractModule {
     }
 
     @Singleton
-    public static class MemoryRRTConfigurationPerformer implements ConfigurationPerformer {
+    public static class MemoryRRTInitialisationOperation implements InitialisationOperation {
         private final ConfigurationProvider configurationProvider;
         private final MemoryRecipientRewriteTable memoryRecipientRewriteTable;
 
         @Inject
-        public MemoryRRTConfigurationPerformer(ConfigurationProvider configurationProvider, MemoryRecipientRewriteTable memoryRecipientRewriteTable) {
+        public MemoryRRTInitialisationOperation(ConfigurationProvider configurationProvider, MemoryRecipientRewriteTable memoryRecipientRewriteTable) {
             this.configurationProvider = configurationProvider;
             this.memoryRecipientRewriteTable = memoryRecipientRewriteTable;
         }
diff --git a/server/container/guice/memory-guice/src/test/java/org/apache/james/GuiceJamesServerTest.java b/server/container/guice/memory-guice/src/test/java/org/apache/james/GuiceJamesServerTest.java
index 51201ce..3297fa1 100644
--- a/server/container/guice/memory-guice/src/test/java/org/apache/james/GuiceJamesServerTest.java
+++ b/server/container/guice/memory-guice/src/test/java/org/apache/james/GuiceJamesServerTest.java
@@ -5,7 +5,7 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.modules.TestJMAPServerModule;
-import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.InitialisationOperation;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.RegisterExtension;
@@ -56,7 +56,7 @@ class GuiceJamesServerTest {
 
     @Nested
     class InitFailed {
-        private final ConfigurationPerformer throwingConfigurationPerformer = new ConfigurationPerformer() {
+        private final InitialisationOperation throwingInitialisationOperation = new InitialisationOperation() {
             @Override
             public void initModule() {
                 throw new RuntimeException();
@@ -70,9 +70,9 @@ class GuiceJamesServerTest {
 
         @RegisterExtension
         JamesServerExtension jamesServerExtension = extensionBuilder()
-            .overrideServerModule(binder -> Multibinder.newSetBinder(binder, ConfigurationPerformer.class)
+            .overrideServerModule(binder -> Multibinder.newSetBinder(binder, InitialisationOperation.class)
                 .addBinding()
-                .toInstance(throwingConfigurationPerformer))
+                .toInstance(throwingInitialisationOperation))
             .build();
 
         @Test
diff --git a/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java b/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java
index 2f14973..c4fdd03 100644
--- a/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java
+++ b/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java
@@ -34,7 +34,7 @@ import org.apache.james.mailbox.quota.QuotaManager;
 import org.apache.james.mailbox.quota.QuotaRootResolver;
 import org.apache.james.metrics.api.MetricFactory;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
-import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.InitialisationOperation;
 import org.apache.james.utils.GuiceProbe;
 
 import com.google.inject.AbstractModule;
@@ -51,7 +51,7 @@ public class IMAPServerModule extends AbstractModule {
         bind(IMAPServerFactory.class).in(Scopes.SINGLETON);
         bind(OioIMAPServerFactory.class).in(Scopes.SINGLETON);
 
-        Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(IMAPModuleConfigurationPerformer.class);
+        Multibinder.newSetBinder(binder(), InitialisationOperation.class).addBinding().to(IMAPModuleInitialisationOperation.class);
         Multibinder.newSetBinder(binder(), GuiceProbe.class).addBinding().to(ImapGuiceProbe.class);
     }
 
@@ -86,13 +86,13 @@ public class IMAPServerModule extends AbstractModule {
     }
 
     @Singleton
-    public static class IMAPModuleConfigurationPerformer implements ConfigurationPerformer {
+    public static class IMAPModuleInitialisationOperation implements InitialisationOperation {
 
         private final ConfigurationProvider configurationProvider;
         private final IMAPServerFactory imapServerFactory;
 
         @Inject
-        public IMAPModuleConfigurationPerformer(ConfigurationProvider configurationProvider, IMAPServerFactory imapServerFactory) {
+        public IMAPModuleInitialisationOperation(ConfigurationProvider configurationProvider, IMAPServerFactory imapServerFactory) {
             this.configurationProvider = configurationProvider;
             this.imapServerFactory = imapServerFactory;
         }
diff --git a/server/container/guice/protocols/jmap/src/main/java/org/apache/james/modules/protocols/JMAPServerModule.java b/server/container/guice/protocols/jmap/src/main/java/org/apache/james/modules/protocols/JMAPServerModule.java
index 88f9767..2edac9f 100644
--- a/server/container/guice/protocols/jmap/src/main/java/org/apache/james/modules/protocols/JMAPServerModule.java
+++ b/server/container/guice/protocols/jmap/src/main/java/org/apache/james/modules/protocols/JMAPServerModule.java
@@ -26,7 +26,7 @@ import org.apache.james.jmap.JMAPModule;
 import org.apache.james.jmap.JMAPServer;
 import org.apache.james.jmap.crypto.JamesSignatureHandler;
 import org.apache.james.lifecycle.api.Startable;
-import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.InitialisationOperation;
 import org.apache.james.utils.GuiceProbe;
 import org.apache.james.utils.JmapGuiceProbe;
 import org.apache.james.utils.MessageIdProbe;
@@ -42,19 +42,19 @@ public class JMAPServerModule extends AbstractModule {
     @Override
     protected void configure() {
         install(new JMAPModule());
-        Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(JMAPModuleConfigurationPerformer.class);
+        Multibinder.newSetBinder(binder(), InitialisationOperation.class).addBinding().to(JMAPModuleInitialisationOperation.class);
         Multibinder.newSetBinder(binder(), GuiceProbe.class).addBinding().to(JmapGuiceProbe.class);
         Multibinder.newSetBinder(binder(), GuiceProbe.class).addBinding().to(MessageIdProbe.class);
     }
 
     @Singleton
-    public static class JMAPModuleConfigurationPerformer implements ConfigurationPerformer {
+    public static class JMAPModuleInitialisationOperation implements InitialisationOperation {
         private final JMAPServer server;
         private final JamesSignatureHandler signatureHandler;
         private final JMAPConfiguration jmapConfiguration;
 
         @Inject
-        public JMAPModuleConfigurationPerformer(JMAPServer server, JamesSignatureHandler signatureHandler, JMAPConfiguration jmapConfiguration) {
+        public JMAPModuleInitialisationOperation(JMAPServer server, JamesSignatureHandler signatureHandler, JMAPConfiguration jmapConfiguration) {
             this.server = server;
             this.signatureHandler = signatureHandler;
             this.jmapConfiguration = jmapConfiguration;
diff --git a/server/container/guice/protocols/lmtp/src/main/java/org/apache/james/modules/protocols/LMTPServerModule.java b/server/container/guice/protocols/lmtp/src/main/java/org/apache/james/modules/protocols/LMTPServerModule.java
index 7426bde..631490e 100644
--- a/server/container/guice/protocols/lmtp/src/main/java/org/apache/james/modules/protocols/LMTPServerModule.java
+++ b/server/container/guice/protocols/lmtp/src/main/java/org/apache/james/modules/protocols/LMTPServerModule.java
@@ -24,7 +24,7 @@ import org.apache.james.lmtpserver.netty.LMTPServerFactory;
 import org.apache.james.lmtpserver.netty.OioLMTPServerFactory;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
 import org.apache.james.util.LoggingLevel;
-import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.InitialisationOperation;
 import org.apache.james.utils.GuiceProbe;
 
 import com.google.inject.AbstractModule;
@@ -40,18 +40,18 @@ public class LMTPServerModule extends AbstractModule {
         bind(LMTPServerFactory.class).in(Scopes.SINGLETON);
         bind(OioLMTPServerFactory.class).in(Scopes.SINGLETON);
 
-        Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(LMTPModuleConfigurationPerformer.class);
+        Multibinder.newSetBinder(binder(), InitialisationOperation.class).addBinding().to(LMTPModuleInitialisationOperation.class);
         Multibinder.newSetBinder(binder(), GuiceProbe.class).addBinding().to(LmtpGuiceProbe.class);
     }
 
     @Singleton
-    public static class LMTPModuleConfigurationPerformer implements ConfigurationPerformer {
+    public static class LMTPModuleInitialisationOperation implements InitialisationOperation {
 
         private final ConfigurationProvider configurationProvider;
         private final LMTPServerFactory lmtpServerFactory;
 
         @Inject
-        public LMTPModuleConfigurationPerformer(ConfigurationProvider configurationProvider, LMTPServerFactory lmtpServerFactory) {
+        public LMTPModuleInitialisationOperation(ConfigurationProvider configurationProvider, LMTPServerFactory lmtpServerFactory) {
             this.configurationProvider = configurationProvider;
             this.lmtpServerFactory = lmtpServerFactory;
         }
diff --git a/server/container/guice/protocols/managedsieve/src/main/java/org/apache/james/modules/protocols/ManageSieveServerModule.java b/server/container/guice/protocols/managedsieve/src/main/java/org/apache/james/modules/protocols/ManageSieveServerModule.java
index 228ed85..a055a76 100644
--- a/server/container/guice/protocols/managedsieve/src/main/java/org/apache/james/modules/protocols/ManageSieveServerModule.java
+++ b/server/container/guice/protocols/managedsieve/src/main/java/org/apache/james/modules/protocols/ManageSieveServerModule.java
@@ -24,7 +24,7 @@ import org.apache.james.managesieve.core.CoreProcessor;
 import org.apache.james.managesieveserver.netty.ManageSieveServerFactory;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
 import org.apache.james.util.LoggingLevel;
-import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.InitialisationOperation;
 import org.apache.james.utils.GuiceProbe;
 
 import com.google.inject.AbstractModule;
@@ -37,17 +37,17 @@ public class ManageSieveServerModule extends AbstractModule {
     @Override
     protected void configure() {
         bind(CoreCommands.class).to(CoreProcessor.class);
-        Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(ManageSieveModuleConfigurationPerformer.class);
+        Multibinder.newSetBinder(binder(), InitialisationOperation.class).addBinding().to(ManageSieveModuleInitialisationOperation.class);
         Multibinder.newSetBinder(binder(), GuiceProbe.class).addBinding().to(SieveProbeImpl.class);
     }
 
     @Singleton
-    public static class ManageSieveModuleConfigurationPerformer implements ConfigurationPerformer {
+    public static class ManageSieveModuleInitialisationOperation implements InitialisationOperation {
         private final ConfigurationProvider configurationProvider;
         private final ManageSieveServerFactory manageSieveServerFactory;
 
         @Inject
-        public ManageSieveModuleConfigurationPerformer(ConfigurationProvider configurationProvider, ManageSieveServerFactory manageSieveServerFactory) {
+        public ManageSieveModuleInitialisationOperation(ConfigurationProvider configurationProvider, ManageSieveServerFactory manageSieveServerFactory) {
             this.configurationProvider = configurationProvider;
             this.manageSieveServerFactory = manageSieveServerFactory;
         }
diff --git a/server/container/guice/protocols/pop/src/main/java/org/apache/james/modules/protocols/POP3ServerModule.java b/server/container/guice/protocols/pop/src/main/java/org/apache/james/modules/protocols/POP3ServerModule.java
index 3c1c2b1..c5d4a38 100644
--- a/server/container/guice/protocols/pop/src/main/java/org/apache/james/modules/protocols/POP3ServerModule.java
+++ b/server/container/guice/protocols/pop/src/main/java/org/apache/james/modules/protocols/POP3ServerModule.java
@@ -23,7 +23,7 @@ import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.pop3server.netty.OioPOP3ServerFactory;
 import org.apache.james.pop3server.netty.POP3ServerFactory;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
-import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.InitialisationOperation;
 import org.apache.james.utils.GuiceProbe;
 
 import com.google.inject.AbstractModule;
@@ -39,17 +39,17 @@ public class POP3ServerModule extends AbstractModule {
         bind(POP3ServerFactory.class).in(Scopes.SINGLETON);
         bind(OioPOP3ServerFactory.class).in(Scopes.SINGLETON);
 
-        Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(POP3ModuleConfigurationPerformer.class);
+        Multibinder.newSetBinder(binder(), InitialisationOperation.class).addBinding().to(POP3ModuleInitialisationOperation.class);
         Multibinder.newSetBinder(binder(), GuiceProbe.class).addBinding().to(Pop3GuiceProbe.class);
     }
 
     @Singleton
-    public static class POP3ModuleConfigurationPerformer implements ConfigurationPerformer {
+    public static class POP3ModuleInitialisationOperation implements InitialisationOperation {
         private final ConfigurationProvider configurationProvider;
         private final POP3ServerFactory pop3ServerFactory;
 
         @Inject
-        public POP3ModuleConfigurationPerformer(ConfigurationProvider configurationProvider, POP3ServerFactory pop3ServerFactory) {
+        public POP3ModuleInitialisationOperation(ConfigurationProvider configurationProvider, POP3ServerFactory pop3ServerFactory) {
             this.configurationProvider = configurationProvider;
             this.pop3ServerFactory = pop3ServerFactory;
         }
diff --git a/server/container/guice/protocols/smtp/src/main/java/org/apache/james/modules/protocols/SMTPServerModule.java b/server/container/guice/protocols/smtp/src/main/java/org/apache/james/modules/protocols/SMTPServerModule.java
index 3a9438f..4d530ce 100644
--- a/server/container/guice/protocols/smtp/src/main/java/org/apache/james/modules/protocols/SMTPServerModule.java
+++ b/server/container/guice/protocols/smtp/src/main/java/org/apache/james/modules/protocols/SMTPServerModule.java
@@ -24,7 +24,7 @@ import org.apache.james.server.core.configuration.ConfigurationProvider;
 import org.apache.james.smtpserver.SendMailHandler;
 import org.apache.james.smtpserver.netty.OioSMTPServerFactory;
 import org.apache.james.smtpserver.netty.SMTPServerFactory;
-import org.apache.james.utils.ConfigurationPerformer;
+import org.apache.james.utils.InitialisationOperation;
 import org.apache.james.utils.GuiceProbe;
 
 import com.google.inject.AbstractModule;
@@ -41,21 +41,21 @@ public class SMTPServerModule extends AbstractModule {
         bind(SMTPServerFactory.class).in(Scopes.SINGLETON);
         bind(OioSMTPServerFactory.class).in(Scopes.SINGLETON);
 
-        Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(SMTPModuleConfigurationPerformer.class);
+        Multibinder.newSetBinder(binder(), InitialisationOperation.class).addBinding().to(SMTPModuleInitialisationOperation.class);
         Multibinder.newSetBinder(binder(), GuiceProbe.class).addBinding().to(SmtpGuiceProbe.class);
     }
 
     @Singleton
-    public static class SMTPModuleConfigurationPerformer implements ConfigurationPerformer {
+    public static class SMTPModuleInitialisationOperation implements InitialisationOperation {
 
         private final ConfigurationProvider configurationProvider;
         private final SMTPServerFactory smtpServerFactory;
         private final SendMailHandler sendMailHandler;
 
         @Inject
-        public SMTPModuleConfigurationPerformer(ConfigurationProvider configurationProvider,
-                SMTPServerFactory smtpServerFactory,
-            SendMailHandler sendMailHandler) {
+        public SMTPModuleInitialisationOperation(ConfigurationProvider configurationProvider,
+                                                 SMTPServerFactory smtpServerFactory,
+                                                 SendMailHandler sendMailHandler) {
             this.configurationProvider = configurationProvider;
             this.smtpServerFactory = smtpServerFactory;
             this.sendMailHandler = sendMailHandler;
diff --git a/server/container/guice/protocols/webadmin/src/main/java/org/apache/james/modules/server/WebAdminServerModule.java b/server/container/guice/protocols/webadmin/src/main/java/org/apache/james/modules/server/WebAdminServerModule.java
index b333cec..372bd75 100644
--- a/server/container/guice/protocols/webadmin/src/main/java/org/apache/james/modules/server/WebAdminServerModule.java
+++ b/server/container/guice/protocols/webadmin/src/main/java/org/apache/james/modules/server/WebAdminServerModule.java
@@ -27,8 +27,8 @@ import java.util.Optional;
 import org.apache.commons.configuration2.Configuration;
 import org.apache.james.jwt.JwtTokenVerifier;
 import org.apache.james.lifecycle.api.Startable;
-import org.apache.james.utils.ConfigurationPerformer;
 import org.apache.james.utils.GuiceProbe;
+import org.apache.james.utils.InitialisationOperation;
 import org.apache.james.utils.PropertiesProvider;
 import org.apache.james.utils.WebAdminGuiceProbe;
 import org.apache.james.webadmin.FixedPortSupplier;
@@ -71,7 +71,7 @@ public class WebAdminServerModule extends AbstractModule {
         bind(JsonTransformer.class).in(Scopes.SINGLETON);
         bind(WebAdminServer.class).in(Scopes.SINGLETON);
 
-        Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(WebAdminServerModuleConfigurationPerformer.class);
+        Multibinder.newSetBinder(binder(), InitialisationOperation.class).addBinding().to(WebAdminServerModuleInitialisationOperation.class);
         Multibinder.newSetBinder(binder(), GuiceProbe.class).addBinding().to(WebAdminGuiceProbe.class);
         Multibinder.newSetBinder(binder(), JsonTransformerModule.class);
     }
@@ -124,11 +124,11 @@ public class WebAdminServerModule extends AbstractModule {
     }
 
     @Singleton
-    public static class WebAdminServerModuleConfigurationPerformer implements ConfigurationPerformer {
+    public static class WebAdminServerModuleInitialisationOperation implements InitialisationOperation {
         private final WebAdminServer webAdminServer;
 
         @Inject
-        public WebAdminServerModuleConfigurationPerformer(WebAdminServer webAdminServer) {
+        public WebAdminServerModuleInitialisationOperation(WebAdminServer webAdminServer) {
             this.webAdminServer = webAdminServer;
         }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[james-project] 16/16: JAMES-2829 Delete and Bucket contracts should be included in BlobStoreContract

Posted by bt...@apache.org.
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 181ea96c4cbce4a70eb56cfab3ad89cf47315700
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Fri Aug 2 18:57:41 2019 +0200

    JAMES-2829 Delete and Bucket contracts should be included in BlobStoreContract
    
    This avoids forgetting a contract against a part of the API
---
 .../src/test/java/org/apache/james/blob/api/BlobStoreContract.java    | 2 +-
 .../java/org/apache/james/blob/cassandra/CassandraBlobStoreTest.java  | 4 +---
 .../test/java/org/apache/james/blob/memory/MemoryBlobStoreTest.java   | 4 +---
 .../james/blob/objectstorage/ObjectStorageBlobsDAOAWSCryptoTest.java  | 4 +---
 .../blob/objectstorage/ObjectStorageBlobsDAOAWSNamespaceTest.java     | 4 +---
 .../objectstorage/ObjectStorageBlobsDAOAWSPrefixAndNamespaceTest.java | 4 +---
 .../james/blob/objectstorage/ObjectStorageBlobsDAOAWSPrefixTest.java  | 4 +---
 .../apache/james/blob/objectstorage/ObjectStorageBlobsDAOAWSTest.java | 4 +---
 .../apache/james/blob/objectstorage/ObjectStorageBlobsDAOTest.java    | 4 +---
 .../src/test/java/org/apache/james/blob/union/UnionBlobStoreTest.java | 4 +---
 10 files changed, 10 insertions(+), 28 deletions(-)

diff --git a/server/blob/blob-api/src/test/java/org/apache/james/blob/api/BlobStoreContract.java b/server/blob/blob-api/src/test/java/org/apache/james/blob/api/BlobStoreContract.java
index 3c89b9c..004c44f 100644
--- a/server/blob/blob-api/src/test/java/org/apache/james/blob/api/BlobStoreContract.java
+++ b/server/blob/blob-api/src/test/java/org/apache/james/blob/api/BlobStoreContract.java
@@ -30,7 +30,7 @@ import org.junit.jupiter.api.Test;
 
 import com.google.common.base.Strings;
 
-public interface BlobStoreContract {
+public interface BlobStoreContract extends DeleteBlobStoreContract, BucketBlobStoreContract {
 
     String SHORT_STRING = "toto";
     byte[] EMPTY_BYTEARRAY = {};
diff --git a/server/blob/blob-cassandra/src/test/java/org/apache/james/blob/cassandra/CassandraBlobStoreTest.java b/server/blob/blob-cassandra/src/test/java/org/apache/james/blob/cassandra/CassandraBlobStoreTest.java
index a958128..86b0c69 100644
--- a/server/blob/blob-cassandra/src/test/java/org/apache/james/blob/cassandra/CassandraBlobStoreTest.java
+++ b/server/blob/blob-cassandra/src/test/java/org/apache/james/blob/cassandra/CassandraBlobStoreTest.java
@@ -34,8 +34,6 @@ import org.apache.james.backends.cassandra.CassandraClusterExtension;
 import org.apache.james.backends.cassandra.init.configuration.CassandraConfiguration;
 import org.apache.james.blob.api.BlobId;
 import org.apache.james.blob.api.BlobStore;
-import org.apache.james.blob.api.BucketBlobStoreContract;
-import org.apache.james.blob.api.DeleteBlobStoreContract;
 import org.apache.james.blob.api.HashBlobId;
 import org.apache.james.blob.api.MetricableBlobStore;
 import org.apache.james.blob.api.MetricableBlobStoreContract;
@@ -51,7 +49,7 @@ import com.google.common.hash.HashingInputStream;
 
 import reactor.core.publisher.Mono;
 
-public class CassandraBlobStoreTest implements MetricableBlobStoreContract, BucketBlobStoreContract, DeleteBlobStoreContract {
+public class CassandraBlobStoreTest implements MetricableBlobStoreContract {
     private static final int CHUNK_SIZE = 10240;
     private static final int MULTIPLE_CHUNK_SIZE = 3;
 
diff --git a/server/blob/blob-memory/src/test/java/org/apache/james/blob/memory/MemoryBlobStoreTest.java b/server/blob/blob-memory/src/test/java/org/apache/james/blob/memory/MemoryBlobStoreTest.java
index 6f8686a..6dbac34 100644
--- a/server/blob/blob-memory/src/test/java/org/apache/james/blob/memory/MemoryBlobStoreTest.java
+++ b/server/blob/blob-memory/src/test/java/org/apache/james/blob/memory/MemoryBlobStoreTest.java
@@ -21,14 +21,12 @@ package org.apache.james.blob.memory;
 
 import org.apache.james.blob.api.BlobId;
 import org.apache.james.blob.api.BlobStore;
-import org.apache.james.blob.api.BucketBlobStoreContract;
-import org.apache.james.blob.api.DeleteBlobStoreContract;
 import org.apache.james.blob.api.HashBlobId;
 import org.apache.james.blob.api.MetricableBlobStore;
 import org.apache.james.blob.api.MetricableBlobStoreContract;
 import org.junit.jupiter.api.BeforeEach;
 
-public class MemoryBlobStoreTest implements MetricableBlobStoreContract, BucketBlobStoreContract, DeleteBlobStoreContract {
+public class MemoryBlobStoreTest implements MetricableBlobStoreContract {
 
     private static final HashBlobId.Factory BLOB_ID_FACTORY = new HashBlobId.Factory();
     private BlobStore blobStore;
diff --git a/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAOAWSCryptoTest.java b/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAOAWSCryptoTest.java
index 202e01a..c69acd8 100644
--- a/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAOAWSCryptoTest.java
+++ b/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAOAWSCryptoTest.java
@@ -21,8 +21,6 @@ package org.apache.james.blob.objectstorage;
 
 import org.apache.james.blob.api.BlobId;
 import org.apache.james.blob.api.BlobStore;
-import org.apache.james.blob.api.BucketBlobStoreContract;
-import org.apache.james.blob.api.DeleteBlobStoreContract;
 import org.apache.james.blob.api.HashBlobId;
 import org.apache.james.blob.api.MetricableBlobStore;
 import org.apache.james.blob.api.MetricableBlobStoreContract;
@@ -38,7 +36,7 @@ import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.extension.ExtendWith;
 
 @ExtendWith(DockerAwsS3Extension.class)
-public class ObjectStorageBlobsDAOAWSCryptoTest implements MetricableBlobStoreContract, BucketBlobStoreContract, DeleteBlobStoreContract {
+public class ObjectStorageBlobsDAOAWSCryptoTest implements MetricableBlobStoreContract {
     private static final HashBlobId.Factory BLOB_ID_FACTORY = new HashBlobId.Factory();
     private static final Credentials PASSWORD = Credentials.of("testing");
     private static final String SAMPLE_SALT = "c603a7327ee3dcbc031d8d34b1096c605feca5e1";
diff --git a/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAOAWSNamespaceTest.java b/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAOAWSNamespaceTest.java
index 5b44d4a..63443fc 100644
--- a/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAOAWSNamespaceTest.java
+++ b/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAOAWSNamespaceTest.java
@@ -21,9 +21,7 @@ package org.apache.james.blob.objectstorage;
 
 import org.apache.james.blob.api.BlobId;
 import org.apache.james.blob.api.BlobStore;
-import org.apache.james.blob.api.BucketBlobStoreContract;
 import org.apache.james.blob.api.BucketName;
-import org.apache.james.blob.api.DeleteBlobStoreContract;
 import org.apache.james.blob.api.HashBlobId;
 import org.apache.james.blob.api.MetricableBlobStore;
 import org.apache.james.blob.api.MetricableBlobStoreContract;
@@ -37,7 +35,7 @@ import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.extension.ExtendWith;
 
 @ExtendWith(DockerAwsS3Extension.class)
-public class ObjectStorageBlobsDAOAWSNamespaceTest implements MetricableBlobStoreContract, BucketBlobStoreContract, DeleteBlobStoreContract {
+public class ObjectStorageBlobsDAOAWSNamespaceTest implements MetricableBlobStoreContract {
     private static final HashBlobId.Factory BLOB_ID_FACTORY = new HashBlobId.Factory();
 
     private BlobStore testee;
diff --git a/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAOAWSPrefixAndNamespaceTest.java b/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAOAWSPrefixAndNamespaceTest.java
index 1f4fb0d..ff9b7e9 100644
--- a/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAOAWSPrefixAndNamespaceTest.java
+++ b/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAOAWSPrefixAndNamespaceTest.java
@@ -21,9 +21,7 @@ package org.apache.james.blob.objectstorage;
 
 import org.apache.james.blob.api.BlobId;
 import org.apache.james.blob.api.BlobStore;
-import org.apache.james.blob.api.BucketBlobStoreContract;
 import org.apache.james.blob.api.BucketName;
-import org.apache.james.blob.api.DeleteBlobStoreContract;
 import org.apache.james.blob.api.HashBlobId;
 import org.apache.james.blob.api.MetricableBlobStore;
 import org.apache.james.blob.api.MetricableBlobStoreContract;
@@ -37,7 +35,7 @@ import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.extension.ExtendWith;
 
 @ExtendWith(DockerAwsS3Extension.class)
-public class ObjectStorageBlobsDAOAWSPrefixAndNamespaceTest implements MetricableBlobStoreContract, BucketBlobStoreContract, DeleteBlobStoreContract {
+public class ObjectStorageBlobsDAOAWSPrefixAndNamespaceTest implements MetricableBlobStoreContract {
     private static final HashBlobId.Factory BLOB_ID_FACTORY = new HashBlobId.Factory();
 
     private BlobStore testee;
diff --git a/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAOAWSPrefixTest.java b/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAOAWSPrefixTest.java
index 5db797d..680f342 100644
--- a/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAOAWSPrefixTest.java
+++ b/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAOAWSPrefixTest.java
@@ -21,8 +21,6 @@ package org.apache.james.blob.objectstorage;
 
 import org.apache.james.blob.api.BlobId;
 import org.apache.james.blob.api.BlobStore;
-import org.apache.james.blob.api.BucketBlobStoreContract;
-import org.apache.james.blob.api.DeleteBlobStoreContract;
 import org.apache.james.blob.api.HashBlobId;
 import org.apache.james.blob.api.MetricableBlobStore;
 import org.apache.james.blob.api.MetricableBlobStoreContract;
@@ -36,7 +34,7 @@ import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.extension.ExtendWith;
 
 @ExtendWith(DockerAwsS3Extension.class)
-public class ObjectStorageBlobsDAOAWSPrefixTest implements MetricableBlobStoreContract, BucketBlobStoreContract, DeleteBlobStoreContract {
+public class ObjectStorageBlobsDAOAWSPrefixTest implements MetricableBlobStoreContract {
     private static final HashBlobId.Factory BLOB_ID_FACTORY = new HashBlobId.Factory();
 
     private BlobStore testee;
diff --git a/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAOAWSTest.java b/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAOAWSTest.java
index 43eea81..9261eca 100644
--- a/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAOAWSTest.java
+++ b/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAOAWSTest.java
@@ -21,8 +21,6 @@ package org.apache.james.blob.objectstorage;
 
 import org.apache.james.blob.api.BlobId;
 import org.apache.james.blob.api.BlobStore;
-import org.apache.james.blob.api.BucketBlobStoreContract;
-import org.apache.james.blob.api.DeleteBlobStoreContract;
 import org.apache.james.blob.api.HashBlobId;
 import org.apache.james.blob.api.MetricableBlobStore;
 import org.apache.james.blob.api.MetricableBlobStoreContract;
@@ -36,7 +34,7 @@ import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.extension.ExtendWith;
 
 @ExtendWith(DockerAwsS3Extension.class)
-public class ObjectStorageBlobsDAOAWSTest implements MetricableBlobStoreContract, BucketBlobStoreContract, DeleteBlobStoreContract {
+public class ObjectStorageBlobsDAOAWSTest implements MetricableBlobStoreContract {
 
     private static final HashBlobId.Factory BLOB_ID_FACTORY = new HashBlobId.Factory();
 
diff --git a/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAOTest.java b/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAOTest.java
index 6e1520f..5bab274 100644
--- a/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAOTest.java
+++ b/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/ObjectStorageBlobsDAOTest.java
@@ -29,9 +29,7 @@ import java.nio.charset.StandardCharsets;
 import org.apache.commons.io.IOUtils;
 import org.apache.james.blob.api.BlobId;
 import org.apache.james.blob.api.BlobStore;
-import org.apache.james.blob.api.BucketBlobStoreContract;
 import org.apache.james.blob.api.BucketName;
-import org.apache.james.blob.api.DeleteBlobStoreContract;
 import org.apache.james.blob.api.HashBlobId;
 import org.apache.james.blob.api.MetricableBlobStore;
 import org.apache.james.blob.api.MetricableBlobStoreContract;
@@ -57,7 +55,7 @@ import reactor.core.publisher.Mono;
 import reactor.core.scheduler.Schedulers;
 
 @ExtendWith(DockerSwiftExtension.class)
-public class ObjectStorageBlobsDAOTest implements MetricableBlobStoreContract, BucketBlobStoreContract, DeleteBlobStoreContract {
+public class ObjectStorageBlobsDAOTest implements MetricableBlobStoreContract {
 
     private static final String BIG_STRING = Strings.repeat("big blob content", 10 * 1024);
     private static final TenantName TENANT_NAME = TenantName.of("test");
diff --git a/server/blob/blob-union/src/test/java/org/apache/james/blob/union/UnionBlobStoreTest.java b/server/blob/blob-union/src/test/java/org/apache/james/blob/union/UnionBlobStoreTest.java
index 598f44b..e981edf 100644
--- a/server/blob/blob-union/src/test/java/org/apache/james/blob/union/UnionBlobStoreTest.java
+++ b/server/blob/blob-union/src/test/java/org/apache/james/blob/union/UnionBlobStoreTest.java
@@ -33,9 +33,7 @@ import java.util.stream.Stream;
 import org.apache.james.blob.api.BlobId;
 import org.apache.james.blob.api.BlobStore;
 import org.apache.james.blob.api.BlobStoreContract;
-import org.apache.james.blob.api.BucketBlobStoreContract;
 import org.apache.james.blob.api.BucketName;
-import org.apache.james.blob.api.DeleteBlobStoreContract;
 import org.apache.james.blob.api.HashBlobId;
 import org.apache.james.blob.api.ObjectStoreException;
 import org.apache.james.blob.memory.MemoryBlobStore;
@@ -54,7 +52,7 @@ import com.google.common.collect.ImmutableList;
 
 import reactor.core.publisher.Mono;
 
-class UnionBlobStoreTest implements BlobStoreContract, DeleteBlobStoreContract, BucketBlobStoreContract {
+class UnionBlobStoreTest implements BlobStoreContract {
 
     private static class FailingBlobStore implements BlobStore {
 


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[james-project] 06/16: JAMES-2855 Use proper method to read properties data

Posted by bt...@apache.org.
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 c8daabca78483ec1f5587cbfcb0915b475b875b3
Author: Tran Tien Duc <dt...@linagora.com>
AuthorDate: Mon Aug 19 11:37:37 2019 +0700

    JAMES-2855 Use proper method to read properties data
---
 .../SwiftKeystone2ConfigurationReaderTest.java     | 14 ++---
 .../SwiftKeystone3ConfigurationReaderTest.java     | 22 +++----
 .../SwiftTmpAuthConfigurationReaderTest.java       | 16 ++---
 .../mailbox/TikaConfigurationReaderTest.java       | 68 ++++++++++++----------
 .../james/modules/server/JmxConfigurationTest.java |  8 +--
 5 files changed, 67 insertions(+), 61 deletions(-)

diff --git a/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/SwiftKeystone2ConfigurationReaderTest.java b/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/SwiftKeystone2ConfigurationReaderTest.java
index 0fbf3c1..55d1b09 100644
--- a/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/SwiftKeystone2ConfigurationReaderTest.java
+++ b/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/SwiftKeystone2ConfigurationReaderTest.java
@@ -26,7 +26,7 @@ import java.io.StringReader;
 import java.net.URI;
 import java.util.Optional;
 
-import org.apache.commons.configuration.PropertiesConfiguration;
+import org.apache.commons.configuration2.PropertiesConfiguration;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.james.blob.objectstorage.swift.Credentials;
 import org.apache.james.blob.objectstorage.swift.Region;
@@ -60,7 +60,7 @@ class SwiftKeystone2ConfigurationReaderTest {
     @Test
     void readBasicKeystone2Configuration() throws Exception {
         PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(StringUtils.joinWith("\n",
+        configuration.read(new StringReader(StringUtils.joinWith("\n",
             CONFIG_ENDPOINT,
             CONFIG_CREDENTIALS,
             CONFIG_USER_NAME,
@@ -79,7 +79,7 @@ class SwiftKeystone2ConfigurationReaderTest {
     @Test
     void readKeystone2ConfigurationWithRegion() throws Exception {
         PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(StringUtils.joinWith("\n",
+        configuration.read(new StringReader(StringUtils.joinWith("\n",
             CONFIG_ENDPOINT,
             CONFIG_CREDENTIALS,
             CONFIG_USER_NAME,
@@ -100,7 +100,7 @@ class SwiftKeystone2ConfigurationReaderTest {
     @Test
     void failToReadSwiftKeystone2ConfigurationWhenMissingEndpoint() throws Exception {
         PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(StringUtils.joinWith("\n",
+        configuration.read(new StringReader(StringUtils.joinWith("\n",
             CONFIG_CREDENTIALS,
             CONFIG_USER_NAME,
             CONFIG_TENANT_NAME,
@@ -113,7 +113,7 @@ class SwiftKeystone2ConfigurationReaderTest {
     @Test
     void failToReadSwiftKeystone2ConfigurationWhenMissingCrendentials() throws Exception {
         PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(StringUtils.joinWith("\n",
+        configuration.read(new StringReader(StringUtils.joinWith("\n",
             CONFIG_ENDPOINT,
             CONFIG_USER_NAME,
             CONFIG_TENANT_NAME,
@@ -126,7 +126,7 @@ class SwiftKeystone2ConfigurationReaderTest {
     @Test
     void failToReadSwiftKeystone2ConfigurationWhenMissingUserName() throws Exception {
         PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(StringUtils.joinWith("\n",
+        configuration.read(new StringReader(StringUtils.joinWith("\n",
             CONFIG_ENDPOINT,
             CONFIG_CREDENTIALS,
             CONFIG_TENANT_NAME,
@@ -139,7 +139,7 @@ class SwiftKeystone2ConfigurationReaderTest {
     @Test
     void failToReadSwiftKeystone2ConfigurationWhenMissingTenantName() throws Exception {
         PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(StringUtils.joinWith("\n",
+        configuration.read(new StringReader(StringUtils.joinWith("\n",
             CONFIG_ENDPOINT,
             CONFIG_CREDENTIALS,
             CONFIG_USER_NAME,
diff --git a/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/SwiftKeystone3ConfigurationReaderTest.java b/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/SwiftKeystone3ConfigurationReaderTest.java
index b590ef8..1cc8d2b 100644
--- a/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/SwiftKeystone3ConfigurationReaderTest.java
+++ b/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/SwiftKeystone3ConfigurationReaderTest.java
@@ -26,7 +26,7 @@ import java.io.StringReader;
 import java.net.URI;
 import java.util.Optional;
 
-import org.apache.commons.configuration.PropertiesConfiguration;
+import org.apache.commons.configuration2.PropertiesConfiguration;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.james.blob.objectstorage.swift.Credentials;
 import org.apache.james.blob.objectstorage.swift.DomainId;
@@ -78,7 +78,7 @@ class SwiftKeystone3ConfigurationReaderTest {
     @Test
     void readUnscopedKeystone3Configuration() throws Exception {
         PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(StringUtils.joinWith("\n",
+        configuration.read(new StringReader(StringUtils.joinWith("\n",
             CONFIG_ENDPOINT,
             CONFIG_CREDENTIALS,
             CONFIG_USER_NAME,
@@ -96,7 +96,7 @@ class SwiftKeystone3ConfigurationReaderTest {
     @Test
     void readUnscopedKeystone3ConfigurationWithRegion() throws Exception {
         PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(StringUtils.joinWith("\n",
+        configuration.read(new StringReader(StringUtils.joinWith("\n",
             CONFIG_ENDPOINT,
             CONFIG_CREDENTIALS,
             CONFIG_USER_NAME,
@@ -116,7 +116,7 @@ class SwiftKeystone3ConfigurationReaderTest {
     @Test
     void failsToReadKeystone3ConfigurationWithoutEndpoint() throws Exception {
         PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(StringUtils.joinWith("\n",
+        configuration.read(new StringReader(StringUtils.joinWith("\n",
             CONFIG_CREDENTIALS,
             CONFIG_USER_NAME,
             CONFIG_USER_DOMAIN_NAME)));
@@ -127,7 +127,7 @@ class SwiftKeystone3ConfigurationReaderTest {
     @Test
     void failsToReadKeystone3ConfigurationWithoutCredentials() throws Exception {
         PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(StringUtils.joinWith("\n",
+        configuration.read(new StringReader(StringUtils.joinWith("\n",
             CONFIG_ENDPOINT,
             CONFIG_USER_NAME,
             CONFIG_USER_DOMAIN_NAME)));
@@ -138,7 +138,7 @@ class SwiftKeystone3ConfigurationReaderTest {
     @Test
     void failsToReadKeystone3ConfigurationWithoutUserName() throws Exception {
         PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(StringUtils.joinWith("\n",
+        configuration.read(new StringReader(StringUtils.joinWith("\n",
             CONFIG_ENDPOINT,
             CONFIG_CREDENTIALS,
             CONFIG_USER_DOMAIN_NAME)));
@@ -149,7 +149,7 @@ class SwiftKeystone3ConfigurationReaderTest {
     @Test
     void failsToReadKeystone3ConfigurationWithoutUserDomainName() throws Exception {
         PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(StringUtils.joinWith("\n",
+        configuration.read(new StringReader(StringUtils.joinWith("\n",
             CONFIG_ENDPOINT,
             CONFIG_CREDENTIALS,
             CONFIG_USER_NAME)));
@@ -160,7 +160,7 @@ class SwiftKeystone3ConfigurationReaderTest {
     @Test
     void readDomainScopedKeystone3Configuration() throws Exception {
         PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(StringUtils.joinWith("\n",
+        configuration.read(new StringReader(StringUtils.joinWith("\n",
             CONFIG_ENDPOINT,
             CONFIG_CREDENTIALS,
             CONFIG_USER_NAME,
@@ -180,7 +180,7 @@ class SwiftKeystone3ConfigurationReaderTest {
     @Test
     void readProjectScopedKeystone3Configuration() throws Exception {
         PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(StringUtils.joinWith("\n",
+        configuration.read(new StringReader(StringUtils.joinWith("\n",
             CONFIG_ENDPOINT,
             CONFIG_CREDENTIALS,
             CONFIG_USER_NAME,
@@ -202,7 +202,7 @@ class SwiftKeystone3ConfigurationReaderTest {
     @Test
     void readProjectOfDomainNameScopedKeystone3Configuration() throws Exception {
         PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(StringUtils.joinWith("\n",
+        configuration.read(new StringReader(StringUtils.joinWith("\n",
             CONFIG_ENDPOINT,
             CONFIG_CREDENTIALS,
             CONFIG_USER_NAME,
@@ -229,7 +229,7 @@ class SwiftKeystone3ConfigurationReaderTest {
     @Test
     void readProjectOfDomainIdScopedKeystone3Configuration() throws Exception {
         PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(StringUtils.joinWith("\n",
+        configuration.read(new StringReader(StringUtils.joinWith("\n",
             CONFIG_ENDPOINT,
             CONFIG_CREDENTIALS,
             CONFIG_USER_NAME,
diff --git a/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/SwiftTmpAuthConfigurationReaderTest.java b/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/SwiftTmpAuthConfigurationReaderTest.java
index c719a01..6b4638b 100644
--- a/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/SwiftTmpAuthConfigurationReaderTest.java
+++ b/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/SwiftTmpAuthConfigurationReaderTest.java
@@ -26,7 +26,7 @@ import java.io.StringReader;
 import java.net.URI;
 import java.util.Optional;
 
-import org.apache.commons.configuration.PropertiesConfiguration;
+import org.apache.commons.configuration2.PropertiesConfiguration;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.james.blob.objectstorage.swift.Credentials;
 import org.apache.james.blob.objectstorage.swift.PassHeaderName;
@@ -70,7 +70,7 @@ class SwiftTmpAuthConfigurationReaderTest {
     @Test
     void readBasicTempAuthConfiguration() throws Exception {
         PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(StringUtils.joinWith("\n",
+        configuration.read(new StringReader(StringUtils.joinWith("\n",
             CONFIG_ENDPOINT,
             CONFIG_CREDENTIALS,
             CONFIG_USER_NAME,
@@ -89,7 +89,7 @@ class SwiftTmpAuthConfigurationReaderTest {
     @Test
     void readTempAuthConfigurationWithRegion() throws Exception {
         PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(StringUtils.joinWith("\n",
+        configuration.read(new StringReader(StringUtils.joinWith("\n",
             CONFIG_ENDPOINT,
             CONFIG_CREDENTIALS,
             CONFIG_USER_NAME,
@@ -110,7 +110,7 @@ class SwiftTmpAuthConfigurationReaderTest {
     @Test
     void readTempAuthConfigurationWithCustomTempAuthHeaders() throws Exception {
         PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(StringUtils.joinWith("\n",
+        configuration.read(new StringReader(StringUtils.joinWith("\n",
             CONFIG_ENDPOINT,
             CONFIG_CREDENTIALS,
             CONFIG_USER_NAME,
@@ -133,7 +133,7 @@ class SwiftTmpAuthConfigurationReaderTest {
     @Test
     void failToReadSwiftTempAuthConfigurationWhenMissingEndpoint() throws Exception {
         PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(StringUtils.joinWith("\n",
+        configuration.read(new StringReader(StringUtils.joinWith("\n",
             CONFIG_CREDENTIALS,
             CONFIG_USER_NAME,
             CONFIG_TENANT_NAME,
@@ -146,7 +146,7 @@ class SwiftTmpAuthConfigurationReaderTest {
     @Test
     void failToReadSwiftTempAuthConfigurationWhenMissingCrendentials() throws Exception {
         PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(StringUtils.joinWith("\n",
+        configuration.read(new StringReader(StringUtils.joinWith("\n",
             CONFIG_ENDPOINT,
             CONFIG_USER_NAME,
             CONFIG_TENANT_NAME,
@@ -159,7 +159,7 @@ class SwiftTmpAuthConfigurationReaderTest {
     @Test
     void failToReadSwiftTempAuthConfigurationWhenMissingUserName() throws Exception {
         PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(StringUtils.joinWith("\n",
+        configuration.read(new StringReader(StringUtils.joinWith("\n",
             CONFIG_ENDPOINT,
             CONFIG_CREDENTIALS,
             CONFIG_TENANT_NAME,
@@ -172,7 +172,7 @@ class SwiftTmpAuthConfigurationReaderTest {
     @Test
     void failToReadSwiftTempAuthConfigurationWhenMissingTenantName() throws Exception {
         PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(StringUtils.joinWith("\n",
+        configuration.read(new StringReader(StringUtils.joinWith("\n",
             CONFIG_ENDPOINT,
             CONFIG_CREDENTIALS,
             CONFIG_USER_NAME,
diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/modules/mailbox/TikaConfigurationReaderTest.java b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/modules/mailbox/TikaConfigurationReaderTest.java
index 3ab5fe2..03b8a99 100644
--- a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/modules/mailbox/TikaConfigurationReaderTest.java
+++ b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/modules/mailbox/TikaConfigurationReaderTest.java
@@ -24,8 +24,8 @@ import static org.assertj.core.api.Assertions.assertThat;
 import java.io.StringReader;
 import java.time.Duration;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.PropertiesConfiguration;
+import org.apache.commons.configuration2.PropertiesConfiguration;
+import org.apache.commons.configuration2.convert.DefaultListDelimiterHandler;
 import org.apache.james.mailbox.tika.TikaConfiguration;
 import org.junit.Test;
 
@@ -35,8 +35,8 @@ public class TikaConfigurationReaderTest {
 
     @Test
     public void readTikaConfigurationShouldAcceptMandatoryValues() throws Exception {
-        PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(
+        PropertiesConfiguration configuration = newConfiguration();
+        configuration.read(new StringReader(
                 "tika.enabled=true\n" +
             "tika.host=172.0.0.5\n" +
             "tika.port=889\n" +
@@ -57,8 +57,8 @@ public class TikaConfigurationReaderTest {
 
     @Test
     public void readTikaConfigurationShouldReturnDefaultOnMissingHost() throws Exception {
-        PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(
+        PropertiesConfiguration configuration = newConfiguration();
+        configuration.read(new StringReader(
             "tika.enabled=true\n" +
             "tika.port=889\n" +
             "tika.timeoutInMillis=500\n"));
@@ -75,8 +75,8 @@ public class TikaConfigurationReaderTest {
 
     @Test
     public void readTikaConfigurationShouldReturnDefaultOnMissingPort() throws Exception {
-        PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(
+        PropertiesConfiguration configuration = newConfiguration();
+        configuration.read(new StringReader(
             "tika.enabled=true\n" +
             "tika.host=172.0.0.5\n" +
             "tika.timeoutInMillis=500\n"));
@@ -93,8 +93,8 @@ public class TikaConfigurationReaderTest {
 
     @Test
     public void readTikaConfigurationShouldReturnDefaultOnMissingTimeout() throws Exception {
-        PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(
+        PropertiesConfiguration configuration = newConfiguration();
+        configuration.read(new StringReader(
             "tika.enabled=true\n" +
             "tika.host=172.0.0.5\n" +
             "tika.port=889\n"));
@@ -111,8 +111,8 @@ public class TikaConfigurationReaderTest {
 
     @Test
     public void tikaShouldBeDisabledByDefault() throws Exception {
-        PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(""));
+        PropertiesConfiguration configuration = newConfiguration();
+        configuration.read(new StringReader(""));
 
         assertThat(TikaConfigurationReader.readTikaConfiguration(configuration))
             .isEqualTo(
@@ -123,8 +123,8 @@ public class TikaConfigurationReaderTest {
 
     @Test
     public void readTikaConfigurationShouldParseUnitForCacheEvictionPeriod() throws Exception {
-        PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(
+        PropertiesConfiguration configuration = newConfiguration();
+        configuration.read(new StringReader(
             "tika.enabled=true\n" +
             "tika.host=172.0.0.5\n" +
             "tika.port=889\n" +
@@ -144,8 +144,8 @@ public class TikaConfigurationReaderTest {
 
     @Test
     public void readTikaConfigurationShouldDefaultToSecondWhenMissingUnitForCacheEvitionPeriod() throws Exception {
-        PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(
+        PropertiesConfiguration configuration = newConfiguration();
+        configuration.read(new StringReader(
             "tika.enabled=true\n" +
             "tika.host=172.0.0.5\n" +
             "tika.port=889\n" +
@@ -165,8 +165,8 @@ public class TikaConfigurationReaderTest {
 
     @Test
     public void readTikaConfigurationShouldParseUnitForCacheWeightMax() throws Exception {
-        PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(
+        PropertiesConfiguration configuration = newConfiguration();
+        configuration.read(new StringReader(
             "tika.enabled=true\n" +
             "tika.host=172.0.0.5\n" +
             "tika.port=889\n" +
@@ -186,8 +186,8 @@ public class TikaConfigurationReaderTest {
 
     @Test
     public void readTikaConfigurationShouldDefaultToByteAsSizeUnit() throws Exception {
-        PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(
+        PropertiesConfiguration configuration = newConfiguration();
+        configuration.read(new StringReader(
             "tika.enabled=true\n" +
             "tika.host=172.0.0.5\n" +
             "tika.port=889\n" +
@@ -207,8 +207,8 @@ public class TikaConfigurationReaderTest {
 
     @Test
     public void readTikaConfigurationShouldEnableCacheWhenConfigured() throws Exception {
-        PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(
+        PropertiesConfiguration configuration = newConfiguration();
+        configuration.read(new StringReader(
             "tika.enabled=true\n" +
             "tika.cache.enabled=true\n" +
             "tika.host=172.0.0.5\n" +
@@ -229,9 +229,9 @@ public class TikaConfigurationReaderTest {
     }
 
     @Test
-    public void readTikaConfigurationShouldNotHaveContentTypeBlacklist() throws ConfigurationException {
-        PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(
+    public void readTikaConfigurationShouldNotHaveContentTypeBlacklist() throws Exception {
+        PropertiesConfiguration configuration = newConfiguration();
+        configuration.read(new StringReader(
             "tika.enabled=true\n" +
                 "tika.cache.enabled=true\n" +
                 "tika.host=172.0.0.5\n" +
@@ -252,9 +252,9 @@ public class TikaConfigurationReaderTest {
     }
 
     @Test
-    public void readTikaConfigurationShouldHaveContentTypeBlacklist() throws ConfigurationException {
-        PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(
+    public void readTikaConfigurationShouldHaveContentTypeBlacklist() throws Exception {
+        PropertiesConfiguration configuration = newConfiguration();
+        configuration.read(new StringReader(
             "tika.enabled=true\n" +
                 "tika.cache.enabled=true\n" +
                 "tika.host=172.0.0.5\n" +
@@ -277,9 +277,9 @@ public class TikaConfigurationReaderTest {
     }
 
     @Test
-    public void readTikaConfigurationShouldHaveContentTypeBlacklistWithWhiteSpace() throws ConfigurationException {
-        PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(
+    public void readTikaConfigurationShouldHaveContentTypeBlacklistWithWhiteSpace() throws Exception {
+        PropertiesConfiguration configuration = newConfiguration();
+        configuration.read(new StringReader(
             "tika.enabled=true\n" +
                 "tika.cache.enabled=true\n" +
                 "tika.host=172.0.0.5\n" +
@@ -300,4 +300,10 @@ public class TikaConfigurationReaderTest {
                     .contentTypeBlacklist(ImmutableSet.of("application/ics", "application/zip"))
                     .build());
     }
+
+    private PropertiesConfiguration newConfiguration() {
+        PropertiesConfiguration configuration = new PropertiesConfiguration();
+        configuration.setListDelimiterHandler(new DefaultListDelimiterHandler(','));
+        return configuration;
+    }
 }
\ No newline at end of file
diff --git a/server/container/guice/jmx/src/test/java/org/apache/james/modules/server/JmxConfigurationTest.java b/server/container/guice/jmx/src/test/java/org/apache/james/modules/server/JmxConfigurationTest.java
index 604d4f6..ce125ac 100644
--- a/server/container/guice/jmx/src/test/java/org/apache/james/modules/server/JmxConfigurationTest.java
+++ b/server/container/guice/jmx/src/test/java/org/apache/james/modules/server/JmxConfigurationTest.java
@@ -24,7 +24,7 @@ import static org.assertj.core.api.Assertions.assertThat;
 import java.io.StringReader;
 import java.util.Optional;
 
-import org.apache.commons.configuration.PropertiesConfiguration;
+import org.apache.commons.configuration2.PropertiesConfiguration;
 import org.apache.james.util.Host;
 import org.junit.jupiter.api.Test;
 
@@ -46,7 +46,7 @@ public class JmxConfigurationTest {
     @Test
     void fromPropertiesShouldReturnConfiguredValues() throws Exception {
         PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(
+        configuration.read(new StringReader(
                 "jmx.address=172.0.0.5\n" +
                 "jmx.port=889\n"));
 
@@ -57,7 +57,7 @@ public class JmxConfigurationTest {
     @Test
     void fromPropertiesShouldReturnDisabledWhenConfiguredAsDisabled() throws Exception {
         PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(
+        configuration.read(new StringReader(
                     "jmx.enabled=false\n"));
 
         assertThat(JmxConfiguration.fromProperties(configuration))
@@ -67,7 +67,7 @@ public class JmxConfigurationTest {
     @Test
     void fromPropertiesShouldReturnDisabledWhenConfiguredAsDisabledWithHost() throws Exception {
         PropertiesConfiguration configuration = new PropertiesConfiguration();
-        configuration.load(new StringReader(
+        configuration.read(new StringReader(
                     "jmx.enabled=false\n" +
                 "jmx.address=172.0.0.5\n" +
                 "jmx.port=889\n"));


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[james-project] 02/16: JAMES-2855 Big & simple update package name changes

Posted by bt...@apache.org.
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 ac38b309a324d6b10f65cc19358d18fc2c59d062
Author: Tran Tien Duc <dt...@linagora.com>
AuthorDate: Mon Aug 19 13:08:15 2019 +0700

    JAMES-2855 Big & simple update package name changes
---
 .../init/CassandraSessionConfiguration.java        |  4 +--
 .../init/configuration/CassandraConfiguration.java |  2 +-
 .../configuration/QueryLoggerConfiguration.java    |  2 +-
 .../migration/CassandraMigrationService.java       |  2 +-
 .../init/QueryLoggerConfigurationTest.java         |  2 +-
 .../migration/CassandraMigrationServiceTest.java   |  3 ++-
 .../backend/rabbitmq/RabbitMQConfiguration.java    |  2 +-
 .../rabbitmq/RabbitMQConfigurationTest.java        |  2 +-
 .../ElasticSearchMailboxConfiguration.java         |  2 +-
 .../ElasticSearchMailboxConfigurationTest.java     |  2 +-
 .../apache/james/vault/RetentionConfiguration.java |  2 +-
 .../james/vault/RetentionConfigurationTest.java    |  2 +-
 .../mailing/QuotaMailingListenerConfiguration.java |  5 ++--
 .../listeners/QuotaThresholdCrossingListener.java  |  2 +-
 .../ElasticSearchQuotaConfiguration.java           |  2 +-
 .../ElasticSearchQuotaConfigurationTest.java       |  2 +-
 .../apache/james/mpt/host/JamesImapHostSystem.java |  6 ++---
 .../imapmailbox/cyrus/host/CyrusHostSystem.java    |  4 +--
 .../host/ElasticSearchHostSystem.java              |  4 +--
 .../lucenesearch/host/LuceneSearchHostSystem.java  |  4 +--
 .../maildir/host/MaildirHostSystem.java            |  4 +--
 .../protocols/api/handler/CommandDispatcher.java   |  4 +--
 .../api/handler/CommandHandlerResultLogger.java    |  4 +--
 .../protocols/api/handler/ProtocolHandler.java     |  4 +--
 .../protocols/imap/core/IMAPCommandDispatcher.java |  4 +--
 .../protocols/imap/utils/DecoderUtilsTest.java     |  2 +-
 .../protocols/lmtp/AbstractLMTPServerTest.java     |  4 +--
 .../james/protocols/pop3/core/CapaCmdHandler.java  |  4 +--
 .../james/protocols/pop3/core/DeleCmdHandler.java  |  4 +--
 .../james/protocols/pop3/core/ListCmdHandler.java  |  4 +--
 .../james/protocols/pop3/core/NoopCmdHandler.java  |  4 +--
 .../james/protocols/pop3/core/QuitCmdHandler.java  |  4 +--
 .../james/protocols/pop3/core/RetrCmdHandler.java  |  4 +--
 .../james/protocols/pop3/core/RsetCmdHandler.java  |  4 +--
 .../james/protocols/pop3/core/StatCmdHandler.java  |  4 +--
 .../james/protocols/pop3/core/StlsCmdHandler.java  |  4 +--
 .../james/protocols/pop3/core/UidlCmdHandler.java  |  4 +--
 .../protocols/pop3/core/UnknownCmdHandler.java     | 24 ++++++++---------
 .../james/protocols/pop3/core/UserCmdHandler.java  |  4 +--
 .../protocols/pop3/core/WelcomeMessageHandler.java |  4 +--
 .../core/AcceptRecipientIfRelayingIsAllowed.java   |  4 +--
 .../james/protocols/smtp/core/DataCmdHandler.java  |  4 +--
 .../smtp/core/DataLineMessageHookHandler.java      |  4 +--
 .../james/protocols/smtp/core/ExpnCmdHandler.java  |  4 +--
 .../james/protocols/smtp/core/HeloCmdHandler.java  |  4 +--
 .../james/protocols/smtp/core/HelpCmdHandler.java  |  4 +--
 .../james/protocols/smtp/core/MailCmdHandler.java  |  4 +--
 .../james/protocols/smtp/core/NoopCmdHandler.java  |  4 +--
 .../smtp/core/PostmasterAbuseRcptHook.java         |  4 +--
 .../james/protocols/smtp/core/QuitCmdHandler.java  |  4 +--
 .../james/protocols/smtp/core/RcptCmdHandler.java  |  4 +--
 .../smtp/core/ReceivedDataLineFilter.java          |  4 +--
 .../james/protocols/smtp/core/RsetCmdHandler.java  |  4 +--
 .../protocols/smtp/core/UnknownCmdHandler.java     |  4 +--
 .../james/protocols/smtp/core/VrfyCmdHandler.java  |  4 +--
 .../protocols/smtp/core/WelcomeMessageHandler.java |  4 +--
 .../protocols/smtp/core/esmtp/AuthCmdHandler.java  |  4 +--
 .../protocols/smtp/core/esmtp/EhloCmdHandler.java  |  4 +--
 .../smtp/core/esmtp/MailSizeEsmtpExtension.java    |  4 +--
 .../smtp/core/esmtp/StartTlsCmdHandler.java        |  4 +--
 .../smtp/core/fastfail/DNSRBLHandler.java          |  4 +--
 .../smtp/core/fastfail/MaxRcptHandler.java         |  4 +--
 .../smtp/core/fastfail/MaxUnknownCmdHandler.java   |  4 +--
 .../core/fastfail/ResolvableEhloHeloHandler.java   |  4 +--
 .../smtp/core/fastfail/SpamTrapHandler.java        |  4 +--
 .../core/fastfail/SupressDuplicateRcptHandler.java |  4 +--
 .../protocols/smtp/core/log/HookResultLogger.java  |  4 +--
 .../james/protocols/smtp/hook/SimpleHook.java      |  4 +--
 .../protocols/smtp/AbstractSMTPServerTest.java     |  4 +--
 .../fastfail/ValidSenderDomainHandlerTest.java     |  2 +-
 .../protocols/smtp/utils/TestMessageHook.java      |  4 +--
 .../export/file/LocalFileBlobExportMechanism.java  |  2 +-
 .../file/LocalFileBlobExportMechanismTest.java     |  2 +-
 .../org/apache/james/server/core/MailImpl.java     |  2 +-
 .../core/configuration/ConfigurationProvider.java  |  4 +--
 .../apache/james/modules/BlobExportImplChoice.java |  2 +-
 .../james/modules/BlobExportMechanismModule.java   |  4 +--
 .../modules/LinshareBlobExportMechanismModule.java |  4 +--
 .../LocalFileBlobExportMechanismModule.java        |  4 +--
 .../james/modules/BlobExportImplChoiceTest.java    |  2 +-
 .../modules/BlobExportMechanismModuleTest.java     |  2 +-
 .../ObjectStorageBlobConfiguration.java            |  4 +--
 .../ObjectStorageDependenciesModule.java           |  4 +--
 .../objectstorage/ObjectStorageProvider.java       |  2 +-
 .../aws/s3/AwsS3ConfigurationReader.java           |  2 +-
 .../swift/SwiftAuthConfiguration.java              |  4 +--
 .../swift/SwiftKeystone2ConfigurationReader.java   |  2 +-
 .../swift/SwiftKeystone3ConfigurationReader.java   |  2 +-
 .../swift/SwiftTmpAuthConfigurationReader.java     |  2 +-
 .../objectstorage/MapConfigurationBuilder.java     |  2 +-
 .../ObjectStorageBlobConfigurationTest.java        |  4 +--
 .../objectstorage/ObjectStorageProviderTest.java   |  2 +-
 .../aws/s3/AwsS3ConfigurationReaderTest.java       |  4 +--
 .../swift/ObjectStorageBlobConfigurationTest.java  |  2 +-
 .../swift/SwiftObjectStorageTest.java              |  2 +-
 .../modules/data/CassandraDomainListModule.java    |  2 +-
 .../data/CassandraRecipientRewriteTableModule.java |  2 +-
 .../data/CassandraUsersRepositoryModule.java       |  2 +-
 .../modules/mailbox/CassandraSessionModule.java    |  4 +--
 .../mailbox/ElasticSearchMailboxModule.java        |  4 +--
 .../mailbox/ElasticSearchQuotaSearcherModule.java  |  4 +--
 .../james/modules/mailbox/TikaMailboxModule.java   |  4 +--
 .../james/data/LdapUsersRepositoryModule.java      |  2 +-
 .../test/java/org/apache/james/DockerLdapRule.java |  2 +-
 .../blobstore/BlobStoreChoosingConfiguration.java  |  2 +-
 .../modules/blobstore/BlobStoreChoosingModule.java |  4 +--
 .../BlobStoreChoosingConfigurationTest.java        |  2 +-
 .../blobstore/BlobStoreChoosingModuleTest.java     |  2 +-
 .../server/ElasticSearchMetricReporterModule.java  |  4 +--
 ...faultProcessorsConfigurationProviderModule.java |  2 +-
 .../modules/server/MailStoreRepositoryModule.java  |  4 +--
 .../java/org/apache/james/utils/DataProbeImpl.java |  6 ++---
 .../james/utils/GuiceProtocolHandlerLoader.java    |  4 +--
 .../org/apache/james/FakePropertiesProvider.java   |  2 +-
 .../james/modules/ConfigurationsPerformerTest.java |  4 +--
 .../org/apache/james/utils/ConfigurablesTest.java  |  4 +--
 .../james/utils/FailingPropertiesProvider.java     |  4 +--
 .../james/utils/FileConfigurationProviderTest.java |  5 ++--
 .../james/modules/server/JMXServerModule.java      |  2 +-
 .../james/modules/server/JmxConfiguration.java     |  2 +-
 .../james/modules/data/JPADomainListModule.java    |  2 +-
 .../james/modules/data/JPAEntityManagerModule.java |  4 +--
 .../data/JPARecipientRewriteTableModule.java       |  2 +-
 .../modules/data/JPAUsersRepositoryModule.java     |  2 +-
 .../vault/DeletedMessageVaultRetentionModule.java  |  4 +--
 .../SpamAssassinConfigurationLoader.java           |  2 +-
 .../spamassassin/SpamAssassinListenerModule.java   |  4 +--
 .../SpamAssassinConfigurationLoaderTest.java       |  2 +-
 .../org/apache/james/modules/MailboxProbeImpl.java | 10 ++++----
 .../james/modules/mailbox/DefaultEventModule.java  |  2 +-
 .../modules/mailbox/ListenerConfiguration.java     |  2 +-
 .../mailbox/MailboxListenersLoaderImpl.java        |  2 +-
 .../mailbox/PreDeletionHookConfiguration.java      |  4 +--
 .../modules/mailbox/PreDeletionHookModule.java     |  2 +-
 .../mailbox/PreDeletionHooksConfiguration.java     | 15 ++++++-----
 .../modules/mailbox/ListenerConfigurationTest.java | 14 +++++-----
 .../org/apache/james/FakeMessageSearchIndex.java   | 18 ++++++-------
 .../java/org/apache/james/jmap/JMAPModule.java     |  4 +--
 .../apache/james/jmap/MailetPreconditionTest.java  |  2 +-
 .../apache/james/modules/TestJMAPServerModule.java |  2 +-
 .../james/modules/server/WebAdminServerModule.java |  2 +-
 .../james/modules/rabbitmq/RabbitMQModule.java     |  4 +--
 .../james/http/jetty/JettyHttpServerFactory.java   |  8 +++---
 .../apache/james/lifecycle/api/Configurable.java   |  4 +--
 .../ProtocolHandlerLoaderBeanFactory.java          |  4 +--
 .../ConfigurationBeanFactoryPostProcessor.java     |  4 +--
 ...dexerConfigurationBeanFactoryPostProcessor.java |  4 +--
 ...ilboxConfigurationBeanFactoryPostProcessor.java |  4 +--
 .../QuotaBeanFactoryPostProcessor.java             |  4 +--
 .../lifecycle/ConfigurableBeanPostProcessor.java   |  2 +-
 .../spring/lifecycle/ConfigurationProvider.java    |  4 +--
 .../lifecycle/ConfigurationProviderImpl.java       | 30 ++++++++++++----------
 .../mailbox/MaxQuotaConfigurationReader.java       |  4 +--
 .../spring/osgi/AbstractBundleTracker.java         |  2 +-
 .../apache/james/domainlist/xml/XMLDomainList.java |  2 +-
 .../mailrepository/file/FileMailRepository.java    |  8 +++---
 .../james/rrt/file/XMLRecipientRewriteTable.java   |  4 +--
 .../james/user/file/UsersFileRepository.java       |  8 +++---
 .../james/rrt/jdbc/JDBCRecipientRewriteTable.java  |  4 +--
 .../user/jdbc/AbstractJdbcUsersRepository.java     |  4 +--
 .../james/sieve/jpa/model/JPASieveScript.java      |  2 +-
 .../apache/james/user/jpa/JPAUsersRepository.java  |  4 +--
 .../rrt/jpa/JPARecipientRewriteTableTest.java      |  4 +--
 .../java/org/apache/james/rrt/jpa/JPAStepdefs.java |  4 +--
 .../user/ldap/LdapRepositoryConfiguration.java     |  4 +--
 .../user/ldap/ReadOnlyLDAPGroupRestriction.java    |  4 +--
 .../user/ldap/ReadOnlyUsersLDAPRepository.java     |  6 ++---
 .../james/domainlist/lib/AbstractDomainList.java   |  4 +--
 .../domainlist/lib/DomainListConfiguration.java    |  2 +-
 .../mailrepository/lib/AbstractMailRepository.java |  4 +--
 .../repository/file/AbstractFileRepository.java    |  4 +--
 .../rrt/lib/AbstractRecipientRewriteTable.java     |  4 +--
 .../user/lib/AbstractJamesUsersRepository.java     |  4 +--
 .../james/user/lib/AbstractUsersRepository.java    |  4 +--
 .../memory/MemoryMailRepositoryStore.java          | 11 +++-----
 .../james/user/memory/MemoryUsersRepository.java   |  4 +--
 .../james/dnsservice/dnsjava/DNSJavaService.java   |  4 +--
 .../apache/james/mailets/TemporaryJamesServer.java |  2 +-
 .../mailetcontainer/impl/JamesMailSpooler.java     |  3 ++-
 .../mailetcontainer/impl/JamesMailetContext.java   |  4 +--
 .../impl/camel/CamelCompositeProcessor.java        |  2 +-
 .../lib/AbstractStateCompositeProcessor.java       |  4 +--
 .../lib/AbstractStateMailetProcessor.java          |  4 +--
 .../mailetcontainer/impl/JamesMailSpoolerTest.java |  2 +-
 .../impl/JamesMailetContextTest.java               |  4 +--
 .../impl/camel/CamelCompositeProcessorTest.java    |  2 +-
 .../impl/camel/CamelMailetProcessorTest.java       |  2 +-
 .../remote/delivery/RemoteDeliveryTest.java        |  2 +-
 .../java/org/apache/james/fetchmail/Account.java   |  2 +-
 .../org/apache/james/fetchmail/DynamicAccount.java |  2 +-
 .../java/org/apache/james/fetchmail/FetchMail.java | 18 ++++++-------
 .../org/apache/james/fetchmail/FetchScheduler.java |  4 +--
 .../james/fetchmail/ParsedConfiguration.java       |  4 +--
 .../methods/integration/SpamAssassinModule.java    |  2 +-
 .../james/jmap/JmapFieldNotSupportedException.java |  4 +--
 .../james/jmap/model/GetMailboxesResponse.java     |  8 +++---
 .../james/jmap/model/GetMessageListRequest.java    | 12 ++++-----
 .../james/jmap/model/GetMessageListResponse.java   | 16 ++++++------
 .../java/org/apache/james/jmap/model/Keyword.java  |  2 +-
 .../james/jmap/model/SetMailboxesRequest.java      |  6 ++---
 .../james/jmap/model/SetMessagesResponse.java      |  8 +++---
 .../james/jmap/model/mailbox/MailboxNamespace.java |  2 +-
 .../jmap/model/mailbox/MailboxUpdateRequest.java   |  6 ++---
 .../james/jmap/utils/JsoupHtmlTextExtractor.java   |  2 +-
 .../james/jmap/methods/GetMessagesMethodTest.java  |  2 +-
 .../model/GetMailboxMessageListResponseTest.java   |  2 +-
 .../james/jmap/model/GetMailboxesRequestTest.java  |  2 +-
 .../jmap/model/GetMessageListRequestTest.java      |  2 +-
 .../james/jmap/model/GetVacationRequestTest.java   |  2 +-
 .../james/jmap/model/SetMailboxesRequestTest.java  |  2 +-
 .../james/jmap/model/SetMessagesRequestTest.java   |  2 +-
 .../james/jmap/model/SetMessagesResponseTest.java  |  2 +-
 .../james/jmap/model/SetVacationRequestTest.java   |  2 +-
 .../model/mailbox/MailboxCreateRequestTest.java    |  2 +-
 .../apache/james/imapserver/netty/IMAPServer.java  |  4 +--
 .../james/imapserver/netty/IMAPServerFactory.java  |  2 +-
 .../protocols/lib/ProtocolHandlerChainImpl.java    | 16 ++++++------
 .../lib/handler/ProtocolHandlerLoader.java         |  2 +-
 .../AbstractCommandHandlerResultJMXMonitor.java    |  4 +--
 .../AbstractConnectHandlerResultJMXMonitor.java    |  4 +--
 .../jmx/AbstractLineHandlerResultJMXMonitor.java   |  4 +--
 .../lib/netty/AbstractConfigurableAsyncServer.java |  6 ++---
 .../lib/netty/AbstractProtocolAsyncServer.java     |  4 +--
 .../protocols/lib/netty/AbstractServerFactory.java |  4 +--
 .../lib/mock/MockProtocolHandlerLoader.java        |  2 +-
 .../james/lmtpserver/CoreCmdHandlerLoader.java     |  4 +--
 .../hook/MailboxDeliverToRecipientHandler.java     |  4 +--
 .../james/lmtpserver/jmx/JMXHandlersLoader.java    |  4 +--
 .../apache/james/lmtpserver/netty/LMTPServer.java  |  4 +--
 .../james/lmtpserver/netty/LMTPServerFactory.java  |  2 +-
 .../netty/ManageSieveServerFactory.java            |  2 +-
 .../pop3server/core/CoreCmdHandlerLoader.java      |  4 +--
 .../james/pop3server/jmx/JMXHandlersLoader.java    |  4 +--
 .../james/pop3server/netty/POP3ServerFactory.java  |  2 +-
 .../AddDefaultAttributesMessageHook.java           |  4 +--
 .../smtpserver/AuthRequiredToRelayRcptHook.java    |  4 +--
 .../james/smtpserver/CoreCmdHandlerLoader.java     |  4 +--
 .../DataLineJamesMessageHookHandler.java           |  4 +--
 .../james/smtpserver/MailPriorityHandler.java      |  6 ++---
 .../james/smtpserver/POP3BeforeSMTPHandler.java    |  6 ++---
 .../apache/james/smtpserver/SendMailHandler.java   |  4 +--
 .../SenderAuthIdentifyVerificationRcptHook.java    |  4 +--
 .../james/smtpserver/SetMimeHeaderHandler.java     |  4 +--
 .../james/smtpserver/UsersRepositoryAuthHook.java  |  4 +--
 .../james/smtpserver/fastfail/DNSRBLHandler.java   |  6 ++---
 .../smtpserver/fastfail/JDBCGreylistHandler.java   |  4 +--
 .../james/smtpserver/fastfail/MaxRcptHandler.java  |  4 +--
 .../smtpserver/fastfail/MaxUnknownCmdHandler.java  |  4 +--
 .../james/smtpserver/fastfail/SPFHandler.java      |  4 +--
 .../smtpserver/fastfail/SpamAssassinHandler.java   |  4 +--
 .../james/smtpserver/fastfail/SpamTrapHandler.java |  4 +--
 .../james/smtpserver/fastfail/URIRBLHandler.java   |  4 +--
 .../smtpserver/fastfail/ValidRcptHandler.java      |  4 +--
 .../james/smtpserver/fastfail/ValidRcptMX.java     |  4 +--
 .../fastfail/ValidSenderDomainHandler.java         |  4 +--
 .../james/smtpserver/jmx/HookResultJMXMonitor.java |  4 +--
 .../james/smtpserver/jmx/JMXHandlersLoader.java    |  4 +--
 .../apache/james/smtpserver/netty/SMTPServer.java  |  4 +--
 .../james/smtpserver/netty/SMTPServerFactory.java  |  2 +-
 .../CassandraMailQueueViewConfiguration.java       |  2 +-
 .../CassandraMailQueueViewConfigurationTest.java   |  2 +-
 .../james/linshare/LinshareConfiguration.java      |  2 +-
 .../james/linshare/LinshareConfigurationTest.java  |  2 +-
 263 files changed, 526 insertions(+), 520 deletions(-)

diff --git a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraSessionConfiguration.java b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraSessionConfiguration.java
index 0e0047d..10f363b 100644
--- a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraSessionConfiguration.java
+++ b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraSessionConfiguration.java
@@ -19,8 +19,8 @@
 
 package org.apache.james.backends.cassandra.init;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.PropertiesConfiguration;
+import org.apache.commons.configuration2.PropertiesConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 
 public interface CassandraSessionConfiguration {
 
diff --git a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/configuration/CassandraConfiguration.java b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/configuration/CassandraConfiguration.java
index 69a8736..2681d45 100644
--- a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/configuration/CassandraConfiguration.java
+++ b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/configuration/CassandraConfiguration.java
@@ -25,7 +25,7 @@ import java.util.Objects;
 import java.util.Optional;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration2.Configuration;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.MoreObjects;
diff --git a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/configuration/QueryLoggerConfiguration.java b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/configuration/QueryLoggerConfiguration.java
index 6c025f1..4478316 100644
--- a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/configuration/QueryLoggerConfiguration.java
+++ b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/configuration/QueryLoggerConfiguration.java
@@ -22,7 +22,7 @@ package org.apache.james.backends.cassandra.init.configuration;
 import java.util.Optional;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration2.Configuration;
 
 import com.datastax.driver.core.PerHostPercentileTracker;
 import com.datastax.driver.core.QueryLogger;
diff --git a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/migration/CassandraMigrationService.java b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/migration/CassandraMigrationService.java
index ec94384..97b2b74 100644
--- a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/migration/CassandraMigrationService.java
+++ b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/migration/CassandraMigrationService.java
@@ -26,7 +26,7 @@ import java.util.Optional;
 import javax.inject.Inject;
 import javax.inject.Named;
 
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
 import org.apache.james.backends.cassandra.versions.CassandraSchemaVersionDAO;
 import org.apache.james.backends.cassandra.versions.SchemaTransition;
 import org.apache.james.backends.cassandra.versions.SchemaVersion;
diff --git a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/init/QueryLoggerConfigurationTest.java b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/init/QueryLoggerConfigurationTest.java
index 012ab24..d3381fb 100644
--- a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/init/QueryLoggerConfigurationTest.java
+++ b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/init/QueryLoggerConfigurationTest.java
@@ -21,7 +21,7 @@ package org.apache.james.backends.cassandra.init;
 import static org.assertj.core.api.Assertions.assertThatCode;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
-import org.apache.commons.configuration.PropertiesConfiguration;
+import org.apache.commons.configuration2.PropertiesConfiguration;
 import org.apache.james.backends.cassandra.init.configuration.QueryLoggerConfiguration;
 import org.junit.Test;
 
diff --git a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/migration/CassandraMigrationServiceTest.java b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/migration/CassandraMigrationServiceTest.java
index d99ca30..11d6b1a 100644
--- a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/migration/CassandraMigrationServiceTest.java
+++ b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/migration/CassandraMigrationServiceTest.java
@@ -33,7 +33,7 @@ import java.util.Optional;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
 import org.apache.james.backends.cassandra.versions.CassandraSchemaVersionDAO;
 import org.apache.james.backends.cassandra.versions.SchemaTransition;
 import org.apache.james.backends.cassandra.versions.SchemaVersion;
@@ -47,6 +47,7 @@ import org.junit.rules.ExpectedException;
 
 import com.datastax.driver.core.Session;
 import com.google.common.collect.ImmutableMap;
+
 import reactor.core.publisher.Mono;
 
 public class CassandraMigrationServiceTest {
diff --git a/backends-common/rabbitmq/src/main/java/org/apache/james/backend/rabbitmq/RabbitMQConfiguration.java b/backends-common/rabbitmq/src/main/java/org/apache/james/backend/rabbitmq/RabbitMQConfiguration.java
index 6f95b51..70e3428 100644
--- a/backends-common/rabbitmq/src/main/java/org/apache/james/backend/rabbitmq/RabbitMQConfiguration.java
+++ b/backends-common/rabbitmq/src/main/java/org/apache/james/backend/rabbitmq/RabbitMQConfiguration.java
@@ -23,7 +23,7 @@ import java.util.Arrays;
 import java.util.Objects;
 import java.util.Optional;
 
-import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration2.Configuration;
 
 import com.google.common.base.Preconditions;
 import com.google.common.base.Strings;
diff --git a/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/RabbitMQConfigurationTest.java b/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/RabbitMQConfigurationTest.java
index 3ddc1fb..7dfe03e 100644
--- a/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/RabbitMQConfigurationTest.java
+++ b/backends-common/rabbitmq/src/test/java/org/apache/james/backend/rabbitmq/RabbitMQConfigurationTest.java
@@ -27,7 +27,7 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import java.net.URI;
 import java.net.URISyntaxException;
 
-import org.apache.commons.configuration.PropertiesConfiguration;
+import org.apache.commons.configuration2.PropertiesConfiguration;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
 
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/ElasticSearchMailboxConfiguration.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/ElasticSearchMailboxConfiguration.java
index 06bde05..20ca7d2 100644
--- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/ElasticSearchMailboxConfiguration.java
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/ElasticSearchMailboxConfiguration.java
@@ -22,7 +22,7 @@ package org.apache.james.mailbox.elasticsearch;
 import java.util.Objects;
 import java.util.Optional;
 
-import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration2.Configuration;
 import org.apache.james.backends.es.IndexName;
 import org.apache.james.backends.es.ReadAliasName;
 import org.apache.james.backends.es.WriteAliasName;
diff --git a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchMailboxConfigurationTest.java b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchMailboxConfigurationTest.java
index 1d0b94f..f8457cf 100644
--- a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchMailboxConfigurationTest.java
+++ b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchMailboxConfigurationTest.java
@@ -21,7 +21,7 @@ package org.apache.james.mailbox.elasticsearch;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
-import org.apache.commons.configuration.PropertiesConfiguration;
+import org.apache.commons.configuration2.PropertiesConfiguration;
 import org.apache.james.backends.es.IndexName;
 import org.apache.james.backends.es.ReadAliasName;
 import org.apache.james.backends.es.WriteAliasName;
diff --git a/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/RetentionConfiguration.java b/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/RetentionConfiguration.java
index 93dd6b6..38ea404 100644
--- a/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/RetentionConfiguration.java
+++ b/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/RetentionConfiguration.java
@@ -24,7 +24,7 @@ import java.time.temporal.ChronoUnit;
 import java.util.Objects;
 import java.util.Optional;
 
-import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration2.Configuration;
 import org.apache.james.util.DurationParser;
 
 import com.google.common.base.Preconditions;
diff --git a/mailbox/plugin/deleted-messages-vault/src/test/java/org/apache/james/vault/RetentionConfigurationTest.java b/mailbox/plugin/deleted-messages-vault/src/test/java/org/apache/james/vault/RetentionConfigurationTest.java
index 19939b9..d77516a 100644
--- a/mailbox/plugin/deleted-messages-vault/src/test/java/org/apache/james/vault/RetentionConfigurationTest.java
+++ b/mailbox/plugin/deleted-messages-vault/src/test/java/org/apache/james/vault/RetentionConfigurationTest.java
@@ -24,7 +24,7 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 import java.time.Duration;
 
-import org.apache.commons.configuration.PropertiesConfiguration;
+import org.apache.commons.configuration2.PropertiesConfiguration;
 import org.junit.jupiter.api.Test;
 
 import nl.jqno.equalsverifier.EqualsVerifier;
diff --git a/mailbox/plugin/quota-mailing/src/main/java/org/apache/james/mailbox/quota/mailing/QuotaMailingListenerConfiguration.java b/mailbox/plugin/quota-mailing/src/main/java/org/apache/james/mailbox/quota/mailing/QuotaMailingListenerConfiguration.java
index 46ff99b..f7a2040 100644
--- a/mailbox/plugin/quota-mailing/src/main/java/org/apache/james/mailbox/quota/mailing/QuotaMailingListenerConfiguration.java
+++ b/mailbox/plugin/quota-mailing/src/main/java/org/apache/james/mailbox/quota/mailing/QuotaMailingListenerConfiguration.java
@@ -26,7 +26,8 @@ import java.util.Collection;
 import java.util.Objects;
 import java.util.Optional;
 
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.tree.ImmutableNode;
 import org.apache.commons.lang3.tuple.Pair;
 import org.apache.james.filesystem.api.FileSystem;
 import org.apache.james.mailbox.quota.model.QuotaThreshold;
@@ -79,7 +80,7 @@ public class QuotaMailingListenerConfiguration {
             .map(string -> DurationParser.parse(string, ChronoUnit.DAYS));
     }
 
-    private static ImmutableMap<QuotaThreshold, RenderingInformation> readThresholds(HierarchicalConfiguration config) {
+    private static ImmutableMap<QuotaThreshold, RenderingInformation> readThresholds(HierarchicalConfiguration<ImmutableNode> config) {
         return config.configurationsAt(XmlKeys.THRESHOLDS)
             .stream()
             .map(node -> Pair.of(
diff --git a/mailbox/plugin/quota-mailing/src/main/java/org/apache/james/mailbox/quota/mailing/listeners/QuotaThresholdCrossingListener.java b/mailbox/plugin/quota-mailing/src/main/java/org/apache/james/mailbox/quota/mailing/listeners/QuotaThresholdCrossingListener.java
index aa8adc6..387c442 100644
--- a/mailbox/plugin/quota-mailing/src/main/java/org/apache/james/mailbox/quota/mailing/listeners/QuotaThresholdCrossingListener.java
+++ b/mailbox/plugin/quota-mailing/src/main/java/org/apache/james/mailbox/quota/mailing/listeners/QuotaThresholdCrossingListener.java
@@ -21,7 +21,7 @@ package org.apache.james.mailbox.quota.mailing.listeners;
 
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
 import org.apache.james.core.User;
 import org.apache.james.eventsourcing.CommandHandler;
 import org.apache.james.eventsourcing.EventSourcingSystem;
diff --git a/mailbox/plugin/quota-search-elasticsearch/src/main/java/org/apache/james/quota/search/elasticsearch/ElasticSearchQuotaConfiguration.java b/mailbox/plugin/quota-search-elasticsearch/src/main/java/org/apache/james/quota/search/elasticsearch/ElasticSearchQuotaConfiguration.java
index a34b351..1c9e371 100644
--- a/mailbox/plugin/quota-search-elasticsearch/src/main/java/org/apache/james/quota/search/elasticsearch/ElasticSearchQuotaConfiguration.java
+++ b/mailbox/plugin/quota-search-elasticsearch/src/main/java/org/apache/james/quota/search/elasticsearch/ElasticSearchQuotaConfiguration.java
@@ -22,7 +22,7 @@ package org.apache.james.quota.search.elasticsearch;
 import java.util.Objects;
 import java.util.Optional;
 
-import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration2.Configuration;
 import org.apache.james.backends.es.IndexName;
 import org.apache.james.backends.es.ReadAliasName;
 import org.apache.james.backends.es.WriteAliasName;
diff --git a/mailbox/plugin/quota-search-elasticsearch/src/test/java/org/apache/james/quota/search/elasticsearch/ElasticSearchQuotaConfigurationTest.java b/mailbox/plugin/quota-search-elasticsearch/src/test/java/org/apache/james/quota/search/elasticsearch/ElasticSearchQuotaConfigurationTest.java
index db513aa..67dd309 100644
--- a/mailbox/plugin/quota-search-elasticsearch/src/test/java/org/apache/james/quota/search/elasticsearch/ElasticSearchQuotaConfigurationTest.java
+++ b/mailbox/plugin/quota-search-elasticsearch/src/test/java/org/apache/james/quota/search/elasticsearch/ElasticSearchQuotaConfigurationTest.java
@@ -21,7 +21,7 @@ package org.apache.james.quota.search.elasticsearch;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
-import org.apache.commons.configuration.PropertiesConfiguration;
+import org.apache.commons.configuration2.PropertiesConfiguration;
 import org.apache.james.backends.es.IndexName;
 import org.apache.james.backends.es.ReadAliasName;
 import org.apache.james.backends.es.WriteAliasName;
diff --git a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/host/JamesImapHostSystem.java b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/host/JamesImapHostSystem.java
index 4bd4f31..bf5ffd0 100644
--- a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/host/JamesImapHostSystem.java
+++ b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/host/JamesImapHostSystem.java
@@ -19,9 +19,9 @@
 
 package org.apache.james.mpt.host;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
-import org.apache.commons.configuration.plist.PropertyListConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
+import org.apache.commons.configuration2.plist.PropertyListConfiguration;
 import org.apache.james.adapter.mailbox.store.UserRepositoryAuthenticator;
 import org.apache.james.adapter.mailbox.store.UserRepositoryAuthorizator;
 import org.apache.james.imap.api.ImapConfiguration;
diff --git a/mpt/impl/imap-mailbox/cyrus/src/test/java/org/apache/james/mpt/imapmailbox/cyrus/host/CyrusHostSystem.java b/mpt/impl/imap-mailbox/cyrus/src/test/java/org/apache/james/mpt/imapmailbox/cyrus/host/CyrusHostSystem.java
index 64e2b66..1ff7819 100644
--- a/mpt/impl/imap-mailbox/cyrus/src/test/java/org/apache/james/mpt/imapmailbox/cyrus/host/CyrusHostSystem.java
+++ b/mpt/impl/imap-mailbox/cyrus/src/test/java/org/apache/james/mpt/imapmailbox/cyrus/host/CyrusHostSystem.java
@@ -21,7 +21,7 @@ package org.apache.james.mpt.imapmailbox.cyrus.host;
 import java.net.InetSocketAddress;
 import java.util.function.Supplier;
 
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
 import org.apache.james.core.quota.QuotaCount;
 import org.apache.james.core.quota.QuotaSize;
 import org.apache.james.mailbox.model.MailboxPath;
@@ -135,6 +135,6 @@ public class CyrusHostSystem extends ExternalHostSystem implements Provider<Cont
 
     @Override
     public void setQuotaLimits(QuotaCount maxMessageQuota, QuotaSize maxStorageQuota) throws Exception {
-        throw new NotImplementedException();
+        throw new NotImplementedException("not implemented");
     }
 }
diff --git a/mpt/impl/imap-mailbox/elasticsearch/src/test/java/org/apache/james/mpt/imapmailbox/elasticsearch/host/ElasticSearchHostSystem.java b/mpt/impl/imap-mailbox/elasticsearch/src/test/java/org/apache/james/mpt/imapmailbox/elasticsearch/host/ElasticSearchHostSystem.java
index f191c30..87151a2 100644
--- a/mpt/impl/imap-mailbox/elasticsearch/src/test/java/org/apache/james/mpt/imapmailbox/elasticsearch/host/ElasticSearchHostSystem.java
+++ b/mpt/impl/imap-mailbox/elasticsearch/src/test/java/org/apache/james/mpt/imapmailbox/elasticsearch/host/ElasticSearchHostSystem.java
@@ -22,7 +22,7 @@ package org.apache.james.mpt.imapmailbox.elasticsearch.host;
 import java.io.IOException;
 import java.time.ZoneId;
 
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
 import org.apache.james.backends.es.DockerElasticSearch;
 import org.apache.james.backends.es.DockerElasticSearchSingleton;
 import org.apache.james.backends.es.ElasticSearchConfiguration;
@@ -132,7 +132,7 @@ public class ElasticSearchHostSystem extends JamesImapHostSystem {
 
     @Override
     public void setQuotaLimits(QuotaCount maxMessageQuota, QuotaSize maxStorageQuota) {
-        throw new NotImplementedException();
+        throw new NotImplementedException("not implemented");
     }
 
     @Override
diff --git a/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java b/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java
index 053aa1e..62df73f 100644
--- a/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java
+++ b/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java
@@ -19,7 +19,7 @@
 
 package org.apache.james.mpt.imapmailbox.lucenesearch.host;
 
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
 import org.apache.james.core.quota.QuotaCount;
 import org.apache.james.core.quota.QuotaSize;
 import org.apache.james.imap.api.process.ImapProcessor;
@@ -103,7 +103,7 @@ public class LuceneSearchHostSystem extends JamesImapHostSystem {
 
     @Override
     public void setQuotaLimits(QuotaCount maxMessageQuota, QuotaSize maxStorageQuota) {
-        throw new NotImplementedException();
+        throw new NotImplementedException("not implemented");
     }
 
     @Override
diff --git a/mpt/impl/imap-mailbox/maildir/src/test/java/org/apache/james/mpt/imapmailbox/maildir/host/MaildirHostSystem.java b/mpt/impl/imap-mailbox/maildir/src/test/java/org/apache/james/mpt/imapmailbox/maildir/host/MaildirHostSystem.java
index 3fe55dd..d97a8f6 100644
--- a/mpt/impl/imap-mailbox/maildir/src/test/java/org/apache/james/mpt/imapmailbox/maildir/host/MaildirHostSystem.java
+++ b/mpt/impl/imap-mailbox/maildir/src/test/java/org/apache/james/mpt/imapmailbox/maildir/host/MaildirHostSystem.java
@@ -21,7 +21,7 @@ package org.apache.james.mpt.imapmailbox.maildir.host;
 import java.io.File;
 
 import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
 import org.apache.james.core.quota.QuotaCount;
 import org.apache.james.core.quota.QuotaSize;
 import org.apache.james.imap.api.process.ImapProcessor;
@@ -133,7 +133,7 @@ public class MaildirHostSystem extends JamesImapHostSystem {
 
     @Override
     public void setQuotaLimits(QuotaCount maxMessageQuota, QuotaSize maxStorageQuota) {
-        throw new NotImplementedException();
+        throw new NotImplementedException("not implemented");
     }
 
     @Override
diff --git a/protocols/api/src/main/java/org/apache/james/protocols/api/handler/CommandDispatcher.java b/protocols/api/src/main/java/org/apache/james/protocols/api/handler/CommandDispatcher.java
index b271e13..4629d12 100644
--- a/protocols/api/src/main/java/org/apache/james/protocols/api/handler/CommandDispatcher.java
+++ b/protocols/api/src/main/java/org/apache/james/protocols/api/handler/CommandDispatcher.java
@@ -29,8 +29,8 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.Locale;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.BaseRequest;
 import org.apache.james.protocols.api.ProtocolSession;
 import org.apache.james.protocols.api.Request;
diff --git a/protocols/api/src/main/java/org/apache/james/protocols/api/handler/CommandHandlerResultLogger.java b/protocols/api/src/main/java/org/apache/james/protocols/api/handler/CommandHandlerResultLogger.java
index c2283de..92faecf 100644
--- a/protocols/api/src/main/java/org/apache/james/protocols/api/handler/CommandHandlerResultLogger.java
+++ b/protocols/api/src/main/java/org/apache/james/protocols/api/handler/CommandHandlerResultLogger.java
@@ -18,8 +18,8 @@
  ****************************************************************/
 package org.apache.james.protocols.api.handler;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.ProtocolSession;
 import org.apache.james.protocols.api.Response;
 import org.slf4j.Logger;
diff --git a/protocols/api/src/main/java/org/apache/james/protocols/api/handler/ProtocolHandler.java b/protocols/api/src/main/java/org/apache/james/protocols/api/handler/ProtocolHandler.java
index 930cae5..29c4adf 100644
--- a/protocols/api/src/main/java/org/apache/james/protocols/api/handler/ProtocolHandler.java
+++ b/protocols/api/src/main/java/org/apache/james/protocols/api/handler/ProtocolHandler.java
@@ -19,8 +19,8 @@
 
 package org.apache.james.protocols.api.handler;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 
 /**
  * Just the base interface for all kind of "protocol" handlers.
diff --git a/protocols/imap/src/main/java/org/apache/james/protocols/imap/core/IMAPCommandDispatcher.java b/protocols/imap/src/main/java/org/apache/james/protocols/imap/core/IMAPCommandDispatcher.java
index 45afc5c..ec76e6b 100644
--- a/protocols/imap/src/main/java/org/apache/james/protocols/imap/core/IMAPCommandDispatcher.java
+++ b/protocols/imap/src/main/java/org/apache/james/protocols/imap/core/IMAPCommandDispatcher.java
@@ -23,8 +23,8 @@ import java.util.Collection;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.ProtocolSession.State;
 import org.apache.james.protocols.api.Request;
 import org.apache.james.protocols.api.Response;
diff --git a/protocols/imap/src/test/java/org/apache/james/protocols/imap/utils/DecoderUtilsTest.java b/protocols/imap/src/test/java/org/apache/james/protocols/imap/utils/DecoderUtilsTest.java
index 7920658..70fb2ab 100644
--- a/protocols/imap/src/test/java/org/apache/james/protocols/imap/utils/DecoderUtilsTest.java
+++ b/protocols/imap/src/test/java/org/apache/james/protocols/imap/utils/DecoderUtilsTest.java
@@ -29,7 +29,7 @@ import java.util.TimeZone;
 
 import javax.mail.Flags;
 
-import org.apache.commons.lang.time.FastDateFormat;
+import org.apache.commons.lang3.time.FastDateFormat;
 import org.apache.james.protocols.imap.DecodingException;
 import org.junit.Test;
 
diff --git a/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/AbstractLMTPServerTest.java b/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/AbstractLMTPServerTest.java
index f97c1a9..c1dbf7f 100644
--- a/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/AbstractLMTPServerTest.java
+++ b/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/AbstractLMTPServerTest.java
@@ -27,8 +27,8 @@ import java.util.Arrays;
 import java.util.Iterator;
 import java.util.List;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.commons.net.smtp.RelayPath;
 import org.apache.commons.net.smtp.SMTPClient;
 import org.apache.commons.net.smtp.SMTPReply;
diff --git a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/CapaCmdHandler.java b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/CapaCmdHandler.java
index 90ca459..7f1b1b8 100644
--- a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/CapaCmdHandler.java
+++ b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/CapaCmdHandler.java
@@ -24,8 +24,8 @@ import java.util.Collection;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.Request;
 import org.apache.james.protocols.api.Response;
 import org.apache.james.protocols.api.handler.CommandHandler;
diff --git a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/DeleCmdHandler.java b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/DeleCmdHandler.java
index ceff5b0..8d0893e 100644
--- a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/DeleCmdHandler.java
+++ b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/DeleCmdHandler.java
@@ -22,8 +22,8 @@ package org.apache.james.protocols.pop3.core;
 import java.util.Collection;
 import java.util.List;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.ProtocolSession.State;
 import org.apache.james.protocols.api.Request;
 import org.apache.james.protocols.api.Response;
diff --git a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/ListCmdHandler.java b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/ListCmdHandler.java
index 58ab6ac..2ad6336 100644
--- a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/ListCmdHandler.java
+++ b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/ListCmdHandler.java
@@ -23,8 +23,8 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.ProtocolSession.State;
 import org.apache.james.protocols.api.Request;
 import org.apache.james.protocols.api.Response;
diff --git a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/NoopCmdHandler.java b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/NoopCmdHandler.java
index 7184502..3fe6d1e 100644
--- a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/NoopCmdHandler.java
+++ b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/NoopCmdHandler.java
@@ -21,8 +21,8 @@ package org.apache.james.protocols.pop3.core;
 
 import java.util.Collection;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.Request;
 import org.apache.james.protocols.api.Response;
 import org.apache.james.protocols.api.handler.CommandHandler;
diff --git a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/QuitCmdHandler.java b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/QuitCmdHandler.java
index f068aa1..dec0bf8 100644
--- a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/QuitCmdHandler.java
+++ b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/QuitCmdHandler.java
@@ -23,8 +23,8 @@ import java.io.IOException;
 import java.util.Collection;
 import java.util.List;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.ProtocolSession.State;
 import org.apache.james.protocols.api.Request;
 import org.apache.james.protocols.api.Response;
diff --git a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/RetrCmdHandler.java b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/RetrCmdHandler.java
index 65bf8e0..2454b0c 100644
--- a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/RetrCmdHandler.java
+++ b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/RetrCmdHandler.java
@@ -24,8 +24,8 @@ import java.io.InputStream;
 import java.util.Collection;
 import java.util.List;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.ProtocolSession.State;
 import org.apache.james.protocols.api.Request;
 import org.apache.james.protocols.api.Response;
diff --git a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/RsetCmdHandler.java b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/RsetCmdHandler.java
index 999fd3f..37465a5 100644
--- a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/RsetCmdHandler.java
+++ b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/RsetCmdHandler.java
@@ -24,8 +24,8 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.ProtocolSession.State;
 import org.apache.james.protocols.api.Request;
 import org.apache.james.protocols.api.Response;
diff --git a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/StatCmdHandler.java b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/StatCmdHandler.java
index 95641a0..529b3ac 100644
--- a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/StatCmdHandler.java
+++ b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/StatCmdHandler.java
@@ -23,8 +23,8 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.ProtocolSession.State;
 import org.apache.james.protocols.api.Request;
 import org.apache.james.protocols.api.Response;
diff --git a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/StlsCmdHandler.java b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/StlsCmdHandler.java
index 77761fe..5514616 100644
--- a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/StlsCmdHandler.java
+++ b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/StlsCmdHandler.java
@@ -23,8 +23,8 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.Set;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.Request;
 import org.apache.james.protocols.api.Response;
 import org.apache.james.protocols.api.handler.CommandHandler;
diff --git a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/UidlCmdHandler.java b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/UidlCmdHandler.java
index 9800af3..429885b 100644
--- a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/UidlCmdHandler.java
+++ b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/UidlCmdHandler.java
@@ -25,8 +25,8 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.ProtocolSession.State;
 import org.apache.james.protocols.api.Request;
 import org.apache.james.protocols.api.Response;
diff --git a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/UnknownCmdHandler.java b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/UnknownCmdHandler.java
index b477cad..c5c6ca5 100644
--- a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/UnknownCmdHandler.java
+++ b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/UnknownCmdHandler.java
@@ -19,8 +19,8 @@
 
 package org.apache.james.protocols.pop3.core;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.Request;
 import org.apache.james.protocols.api.Response;
 import org.apache.james.protocols.api.handler.UnknownCommandHandler;
@@ -39,14 +39,14 @@ public class UnknownCmdHandler extends UnknownCommandHandler<POP3Session> {
     public Response onCommand(POP3Session session, Request request) {
         return POP3Response.ERR;
     }
-
-    @Override
-    public void init(Configuration config) throws ConfigurationException {
-
-    }
-
-    @Override
-    public void destroy() {
-
-    }
+
+    @Override
+    public void init(Configuration config) throws ConfigurationException {
+
+    }
+
+    @Override
+    public void destroy() {
+
+    }
 }
diff --git a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/UserCmdHandler.java b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/UserCmdHandler.java
index 854e0bd..102c5ab 100644
--- a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/UserCmdHandler.java
+++ b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/UserCmdHandler.java
@@ -22,8 +22,8 @@ package org.apache.james.protocols.pop3.core;
 import java.util.Collection;
 import java.util.Set;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.Request;
 import org.apache.james.protocols.api.Response;
 import org.apache.james.protocols.api.handler.CommandHandler;
diff --git a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/WelcomeMessageHandler.java b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/WelcomeMessageHandler.java
index 91eb396..e47d2d8 100644
--- a/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/WelcomeMessageHandler.java
+++ b/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/WelcomeMessageHandler.java
@@ -19,8 +19,8 @@
 
 package org.apache.james.protocols.pop3.core;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.ProtocolSession.State;
 import org.apache.james.protocols.api.Response;
 import org.apache.james.protocols.api.handler.ConnectHandler;
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AcceptRecipientIfRelayingIsAllowed.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AcceptRecipientIfRelayingIsAllowed.java
index 7ab45a7..3685e2f 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AcceptRecipientIfRelayingIsAllowed.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AcceptRecipientIfRelayingIsAllowed.java
@@ -18,8 +18,8 @@
  ****************************************************************/
 package org.apache.james.protocols.smtp.core;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.MailAddress;
 import org.apache.james.core.MaybeSender;
 import org.apache.james.protocols.smtp.SMTPSession;
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/DataCmdHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/DataCmdHandler.java
index de3d001..c454a57 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/DataCmdHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/DataCmdHandler.java
@@ -28,8 +28,8 @@ import java.util.List;
 
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.MailAddress;
 import org.apache.james.core.MaybeSender;
 import org.apache.james.metrics.api.MetricFactory;
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/DataLineMessageHookHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/DataLineMessageHookHandler.java
index f650221..9543e17 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/DataLineMessageHookHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/DataLineMessageHookHandler.java
@@ -27,8 +27,8 @@ import java.nio.ByteBuffer;
 import java.util.LinkedList;
 import java.util.List;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.ProtocolSession;
 import org.apache.james.protocols.api.Response;
 import org.apache.james.protocols.api.handler.ExtensibleHandler;
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/ExpnCmdHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/ExpnCmdHandler.java
index 3a0cb57..9203628 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/ExpnCmdHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/ExpnCmdHandler.java
@@ -23,8 +23,8 @@ package org.apache.james.protocols.smtp.core;
 
 import java.util.Collection;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.Request;
 import org.apache.james.protocols.api.Response;
 import org.apache.james.protocols.api.handler.CommandHandler;
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/HeloCmdHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/HeloCmdHandler.java
index 894fdc5..595c155 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/HeloCmdHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/HeloCmdHandler.java
@@ -23,8 +23,8 @@ import java.util.Collection;
 
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.metrics.api.MetricFactory;
 import org.apache.james.protocols.api.ProtocolSession;
 import org.apache.james.protocols.api.ProtocolSession.State;
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/HelpCmdHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/HelpCmdHandler.java
index 5a6351d..edfb73c 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/HelpCmdHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/HelpCmdHandler.java
@@ -23,8 +23,8 @@ package org.apache.james.protocols.smtp.core;
 
 import java.util.Collection;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.Request;
 import org.apache.james.protocols.api.Response;
 import org.apache.james.protocols.api.handler.CommandHandler;
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/MailCmdHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/MailCmdHandler.java
index 6aab40c..4ef46d6 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/MailCmdHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/MailCmdHandler.java
@@ -29,8 +29,8 @@ import java.util.StringTokenizer;
 import javax.inject.Inject;
 import javax.mail.internet.AddressException;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.MailAddress;
 import org.apache.james.core.MaybeSender;
 import org.apache.james.metrics.api.MetricFactory;
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/NoopCmdHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/NoopCmdHandler.java
index 306d62d..fe68d24 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/NoopCmdHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/NoopCmdHandler.java
@@ -23,8 +23,8 @@ package org.apache.james.protocols.smtp.core;
 
 import java.util.Collection;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.Request;
 import org.apache.james.protocols.api.Response;
 import org.apache.james.protocols.api.handler.CommandHandler;
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/PostmasterAbuseRcptHook.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/PostmasterAbuseRcptHook.java
index 35d0506..4f93f29 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/PostmasterAbuseRcptHook.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/PostmasterAbuseRcptHook.java
@@ -18,8 +18,8 @@
  ****************************************************************/
 package org.apache.james.protocols.smtp.core;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.MailAddress;
 import org.apache.james.core.MaybeSender;
 import org.apache.james.protocols.smtp.SMTPSession;
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/QuitCmdHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/QuitCmdHandler.java
index 35d3b35..d16bc21 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/QuitCmdHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/QuitCmdHandler.java
@@ -23,8 +23,8 @@ import java.util.Collection;
 
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.metrics.api.MetricFactory;
 import org.apache.james.protocols.api.Response;
 import org.apache.james.protocols.smtp.SMTPResponse;
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/RcptCmdHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/RcptCmdHandler.java
index c8fc16b..07551a9 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/RcptCmdHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/RcptCmdHandler.java
@@ -26,8 +26,8 @@ import java.util.StringTokenizer;
 
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.MailAddress;
 import org.apache.james.core.MaybeSender;
 import org.apache.james.metrics.api.MetricFactory;
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/ReceivedDataLineFilter.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/ReceivedDataLineFilter.java
index d2f8870..67b7ec2 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/ReceivedDataLineFilter.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/ReceivedDataLineFilter.java
@@ -26,8 +26,8 @@ import java.util.Date;
 import java.util.List;
 import java.util.Locale;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.MailAddress;
 import org.apache.james.protocols.api.ProtocolSession.State;
 import org.apache.james.protocols.smtp.SMTPSession;
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/RsetCmdHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/RsetCmdHandler.java
index 7fe5a3a..9d4932e 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/RsetCmdHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/RsetCmdHandler.java
@@ -23,8 +23,8 @@ package org.apache.james.protocols.smtp.core;
 
 import java.util.Collection;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.Request;
 import org.apache.james.protocols.api.Response;
 import org.apache.james.protocols.api.handler.CommandHandler;
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/UnknownCmdHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/UnknownCmdHandler.java
index 56bcd10..d3c0084 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/UnknownCmdHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/UnknownCmdHandler.java
@@ -25,8 +25,8 @@ import java.util.Collection;
 
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.metrics.api.MetricFactory;
 import org.apache.james.protocols.api.ProtocolSession.State;
 import org.apache.james.protocols.api.Response;
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/VrfyCmdHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/VrfyCmdHandler.java
index 41bc72e..26c5354 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/VrfyCmdHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/VrfyCmdHandler.java
@@ -23,8 +23,8 @@ package org.apache.james.protocols.smtp.core;
 
 import java.util.Collection;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.Request;
 import org.apache.james.protocols.api.Response;
 import org.apache.james.protocols.api.handler.CommandHandler;
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/WelcomeMessageHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/WelcomeMessageHandler.java
index df6f3be..7683f9c5 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/WelcomeMessageHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/WelcomeMessageHandler.java
@@ -20,8 +20,8 @@
 
 package org.apache.james.protocols.smtp.core;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.Response;
 import org.apache.james.protocols.api.handler.ConnectHandler;
 import org.apache.james.protocols.smtp.SMTPResponse;
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/AuthCmdHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/AuthCmdHandler.java
index 4e296d0..5a78c60 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/AuthCmdHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/AuthCmdHandler.java
@@ -33,8 +33,8 @@ import java.util.Locale;
 import java.util.Optional;
 import java.util.StringTokenizer;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.Request;
 import org.apache.james.protocols.api.Response;
 import org.apache.james.protocols.api.handler.CommandHandler;
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/EhloCmdHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/EhloCmdHandler.java
index 7a8ed7e..6e6ca38 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/EhloCmdHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/EhloCmdHandler.java
@@ -24,8 +24,8 @@ import java.util.List;
 
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.metrics.api.MetricFactory;
 import org.apache.james.protocols.api.ProtocolSession.State;
 import org.apache.james.protocols.api.Response;
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/MailSizeEsmtpExtension.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/MailSizeEsmtpExtension.java
index 02e63d8..dd234e9 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/MailSizeEsmtpExtension.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/MailSizeEsmtpExtension.java
@@ -24,8 +24,8 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.MaybeSender;
 import org.apache.james.protocols.api.ProtocolSession.State;
 import org.apache.james.protocols.api.Response;
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/StartTlsCmdHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/StartTlsCmdHandler.java
index 3de08b3..1b0ba6d 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/StartTlsCmdHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/StartTlsCmdHandler.java
@@ -23,8 +23,8 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.Request;
 import org.apache.james.protocols.api.Response;
 import org.apache.james.protocols.api.handler.CommandHandler;
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/DNSRBLHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/DNSRBLHandler.java
index b79dddc..8fce6f9 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/DNSRBLHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/DNSRBLHandler.java
@@ -24,8 +24,8 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.StringTokenizer;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.MailAddress;
 import org.apache.james.core.MaybeSender;
 import org.apache.james.protocols.api.ProtocolSession.State;
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/MaxRcptHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/MaxRcptHandler.java
index 2b1e915..6ca7f22 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/MaxRcptHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/MaxRcptHandler.java
@@ -21,8 +21,8 @@
 
 package org.apache.james.protocols.smtp.core.fastfail;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.MailAddress;
 import org.apache.james.core.MaybeSender;
 import org.apache.james.protocols.smtp.SMTPRetCode;
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/MaxUnknownCmdHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/MaxUnknownCmdHandler.java
index 893e3a3..3d4a173 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/MaxUnknownCmdHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/MaxUnknownCmdHandler.java
@@ -20,8 +20,8 @@
 
 package org.apache.james.protocols.smtp.core.fastfail;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.ProtocolSession.State;
 import org.apache.james.protocols.smtp.SMTPSession;
 import org.apache.james.protocols.smtp.hook.HookResult;
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/ResolvableEhloHeloHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/ResolvableEhloHeloHandler.java
index 5dd741c..147cf98 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/ResolvableEhloHeloHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/ResolvableEhloHeloHandler.java
@@ -22,8 +22,8 @@ package org.apache.james.protocols.smtp.core.fastfail;
 import java.net.InetAddress;
 import java.net.UnknownHostException;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.MailAddress;
 import org.apache.james.core.MaybeSender;
 import org.apache.james.protocols.api.ProtocolSession.State;
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/SpamTrapHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/SpamTrapHandler.java
index 7591928..9b286f6 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/SpamTrapHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/SpamTrapHandler.java
@@ -26,8 +26,8 @@ import java.util.HashMap;
 import java.util.Locale;
 import java.util.Map;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.MailAddress;
 import org.apache.james.core.MaybeSender;
 import org.apache.james.protocols.smtp.SMTPSession;
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/SupressDuplicateRcptHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/SupressDuplicateRcptHandler.java
index 0a1b997..4703228 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/SupressDuplicateRcptHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/fastfail/SupressDuplicateRcptHandler.java
@@ -21,8 +21,8 @@ package org.apache.james.protocols.smtp.core.fastfail;
 
 import java.util.Collection;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.MailAddress;
 import org.apache.james.core.MaybeSender;
 import org.apache.james.protocols.api.ProtocolSession.State;
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/log/HookResultLogger.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/log/HookResultLogger.java
index d434fed..0aec58c 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/log/HookResultLogger.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/log/HookResultLogger.java
@@ -18,8 +18,8 @@
  ****************************************************************/
 package org.apache.james.protocols.smtp.core.log;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.smtp.SMTPSession;
 import org.apache.james.protocols.smtp.hook.Hook;
 import org.apache.james.protocols.smtp.hook.HookResult;
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/hook/SimpleHook.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/hook/SimpleHook.java
index 69d1b0f..a671312 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/hook/SimpleHook.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/hook/SimpleHook.java
@@ -19,8 +19,8 @@
 
 package org.apache.james.protocols.smtp.hook;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.MailAddress;
 import org.apache.james.core.MaybeSender;
 import org.apache.james.protocols.smtp.MailEnvelope;
diff --git a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/AbstractSMTPServerTest.java b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/AbstractSMTPServerTest.java
index 74aa841..538cb03 100644
--- a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/AbstractSMTPServerTest.java
+++ b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/AbstractSMTPServerTest.java
@@ -32,8 +32,8 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicBoolean;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.commons.net.smtp.SMTPClient;
 import org.apache.commons.net.smtp.SMTPReply;
 import org.apache.james.core.MailAddress;
diff --git a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/ValidSenderDomainHandlerTest.java b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/ValidSenderDomainHandlerTest.java
index 71cd15e..09c35b5 100644
--- a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/ValidSenderDomainHandlerTest.java
+++ b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/core/fastfail/ValidSenderDomainHandlerTest.java
@@ -24,7 +24,7 @@ import static org.assertj.core.api.Assertions.assertThat;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration2.Configuration;
 import org.apache.james.core.MailAddress;
 import org.apache.james.core.MaybeSender;
 import org.apache.james.protocols.api.ProtocolSession.State;
diff --git a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/utils/TestMessageHook.java b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/utils/TestMessageHook.java
index d0f63ef..536f2d1 100644
--- a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/utils/TestMessageHook.java
+++ b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/utils/TestMessageHook.java
@@ -21,8 +21,8 @@ package org.apache.james.protocols.smtp.utils;
 import java.util.List;
 import java.util.concurrent.CopyOnWriteArrayList;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.smtp.MailEnvelope;
 import org.apache.james.protocols.smtp.SMTPSession;
 import org.apache.james.protocols.smtp.hook.HookResult;
diff --git a/server/blob/blob-export-file/src/main/java/org/apache/james/blob/export/file/LocalFileBlobExportMechanism.java b/server/blob/blob-export-file/src/main/java/org/apache/james/blob/export/file/LocalFileBlobExportMechanism.java
index 5ec6e2c..c88d065 100644
--- a/server/blob/blob-export-file/src/main/java/org/apache/james/blob/export/file/LocalFileBlobExportMechanism.java
+++ b/server/blob/blob-export-file/src/main/java/org/apache/james/blob/export/file/LocalFileBlobExportMechanism.java
@@ -49,7 +49,7 @@ public class LocalFileBlobExportMechanism implements BlobExportMechanism {
 
     public static class Configuration {
 
-        public static Optional<Configuration> from(org.apache.commons.configuration.Configuration propertiesConfiguration) {
+        public static Optional<Configuration> from(org.apache.commons.configuration2.Configuration propertiesConfiguration) {
             String exportDirectory = propertiesConfiguration.getString(DIRECTORY_LOCATION_PROPERTY, null);
             return Optional.ofNullable(exportDirectory).map(Configuration::new);
         }
diff --git a/server/blob/blob-export-file/src/test/java/org/apache/james/blob/export/file/LocalFileBlobExportMechanismTest.java b/server/blob/blob-export-file/src/test/java/org/apache/james/blob/export/file/LocalFileBlobExportMechanismTest.java
index c9adbc9..ca0cce5 100644
--- a/server/blob/blob-export-file/src/test/java/org/apache/james/blob/export/file/LocalFileBlobExportMechanismTest.java
+++ b/server/blob/blob-export-file/src/test/java/org/apache/james/blob/export/file/LocalFileBlobExportMechanismTest.java
@@ -32,7 +32,7 @@ import java.util.Optional;
 import javax.mail.Message;
 import javax.mail.internet.InternetAddress;
 
-import org.apache.commons.configuration.PropertiesConfiguration;
+import org.apache.commons.configuration2.PropertiesConfiguration;
 import org.apache.commons.io.FilenameUtils;
 import org.apache.commons.io.IOUtils;
 import org.apache.james.blob.api.BlobId;
diff --git a/server/container/core/src/main/java/org/apache/james/server/core/MailImpl.java b/server/container/core/src/main/java/org/apache/james/server/core/MailImpl.java
index 3eaf815..7f9b325 100644
--- a/server/container/core/src/main/java/org/apache/james/server/core/MailImpl.java
+++ b/server/container/core/src/main/java/org/apache/james/server/core/MailImpl.java
@@ -44,7 +44,7 @@ import javax.mail.internet.InternetAddress;
 import javax.mail.internet.MimeMessage;
 import javax.mail.internet.ParseException;
 
-import org.apache.commons.lang.RandomStringUtils;
+import org.apache.commons.lang3.RandomStringUtils;
 import org.apache.james.core.MailAddress;
 import org.apache.james.core.MaybeSender;
 import org.apache.james.core.builder.MimeMessageBuilder;
diff --git a/server/container/core/src/main/java/org/apache/james/server/core/configuration/ConfigurationProvider.java b/server/container/core/src/main/java/org/apache/james/server/core/configuration/ConfigurationProvider.java
index 1e23289..064c170 100644
--- a/server/container/core/src/main/java/org/apache/james/server/core/configuration/ConfigurationProvider.java
+++ b/server/container/core/src/main/java/org/apache/james/server/core/configuration/ConfigurationProvider.java
@@ -19,8 +19,8 @@
 
 package org.apache.james.server.core.configuration;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.util.LoggingLevel;
 
 public interface ConfigurationProvider {
diff --git a/server/container/guice/blob-export-guice/src/main/java/org/apache/james/modules/BlobExportImplChoice.java b/server/container/guice/blob-export-guice/src/main/java/org/apache/james/modules/BlobExportImplChoice.java
index c7c3df4..bdffb65 100644
--- a/server/container/guice/blob-export-guice/src/main/java/org/apache/james/modules/BlobExportImplChoice.java
+++ b/server/container/guice/blob-export-guice/src/main/java/org/apache/james/modules/BlobExportImplChoice.java
@@ -22,7 +22,7 @@ package org.apache.james.modules;
 import java.util.Optional;
 import java.util.stream.Stream;
 
-import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration2.Configuration;
 
 import com.github.steveash.guavate.Guavate;
 import com.google.common.base.Joiner;
diff --git a/server/container/guice/blob-export-guice/src/main/java/org/apache/james/modules/BlobExportMechanismModule.java b/server/container/guice/blob-export-guice/src/main/java/org/apache/james/modules/BlobExportMechanismModule.java
index 6e258c9..e429fe5 100644
--- a/server/container/guice/blob-export-guice/src/main/java/org/apache/james/modules/BlobExportMechanismModule.java
+++ b/server/container/guice/blob-export-guice/src/main/java/org/apache/james/modules/BlobExportMechanismModule.java
@@ -23,8 +23,8 @@ import java.io.FileNotFoundException;
 
 import javax.inject.Singleton;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.blob.export.api.BlobExportMechanism;
 import org.apache.james.blob.export.file.LocalFileBlobExportMechanism;
 import org.apache.james.linshare.LinshareBlobExportMechanism;
diff --git a/server/container/guice/blob-export-guice/src/main/java/org/apache/james/modules/LinshareBlobExportMechanismModule.java b/server/container/guice/blob-export-guice/src/main/java/org/apache/james/modules/LinshareBlobExportMechanismModule.java
index b154cb6..15dc0bc 100644
--- a/server/container/guice/blob-export-guice/src/main/java/org/apache/james/modules/LinshareBlobExportMechanismModule.java
+++ b/server/container/guice/blob-export-guice/src/main/java/org/apache/james/modules/LinshareBlobExportMechanismModule.java
@@ -22,8 +22,8 @@ package org.apache.james.modules;
 import java.io.FileNotFoundException;
 import java.net.MalformedURLException;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.linshare.LinshareConfiguration;
 import org.apache.james.linshare.client.LinshareAPI;
 import org.apache.james.modules.mailbox.ConfigurationComponent;
diff --git a/server/container/guice/blob-export-guice/src/main/java/org/apache/james/modules/LocalFileBlobExportMechanismModule.java b/server/container/guice/blob-export-guice/src/main/java/org/apache/james/modules/LocalFileBlobExportMechanismModule.java
index fd67431..53b09f5 100644
--- a/server/container/guice/blob-export-guice/src/main/java/org/apache/james/modules/LocalFileBlobExportMechanismModule.java
+++ b/server/container/guice/blob-export-guice/src/main/java/org/apache/james/modules/LocalFileBlobExportMechanismModule.java
@@ -21,8 +21,8 @@ package org.apache.james.modules;
 
 import java.io.FileNotFoundException;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.blob.export.file.LocalFileBlobExportMechanism;
 import org.apache.james.modules.mailbox.ConfigurationComponent;
 import org.apache.james.utils.PropertiesProvider;
diff --git a/server/container/guice/blob-export-guice/src/test/java/org/apache/james/modules/BlobExportImplChoiceTest.java b/server/container/guice/blob-export-guice/src/test/java/org/apache/james/modules/BlobExportImplChoiceTest.java
index b3da553..a10d1d8 100644
--- a/server/container/guice/blob-export-guice/src/test/java/org/apache/james/modules/BlobExportImplChoiceTest.java
+++ b/server/container/guice/blob-export-guice/src/test/java/org/apache/james/modules/BlobExportImplChoiceTest.java
@@ -22,7 +22,7 @@ package org.apache.james.modules;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
-import org.apache.commons.configuration.PropertiesConfiguration;
+import org.apache.commons.configuration2.PropertiesConfiguration;
 import org.junit.jupiter.api.Test;
 
 import nl.jqno.equalsverifier.EqualsVerifier;
diff --git a/server/container/guice/blob-export-guice/src/test/java/org/apache/james/modules/BlobExportMechanismModuleTest.java b/server/container/guice/blob-export-guice/src/test/java/org/apache/james/modules/BlobExportMechanismModuleTest.java
index f615527..1a64ce3 100644
--- a/server/container/guice/blob-export-guice/src/test/java/org/apache/james/modules/BlobExportMechanismModuleTest.java
+++ b/server/container/guice/blob-export-guice/src/test/java/org/apache/james/modules/BlobExportMechanismModuleTest.java
@@ -24,7 +24,7 @@ import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import static org.mockito.Mockito.mock;
 
-import org.apache.commons.configuration.PropertiesConfiguration;
+import org.apache.commons.configuration2.PropertiesConfiguration;
 import org.apache.james.FakePropertiesProvider;
 import org.apache.james.blob.export.file.LocalFileBlobExportMechanism;
 import org.apache.james.linshare.LinshareBlobExportMechanism;
diff --git a/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageBlobConfiguration.java b/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageBlobConfiguration.java
index e69db3b..3f3703d 100644
--- a/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageBlobConfiguration.java
+++ b/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageBlobConfiguration.java
@@ -23,8 +23,8 @@ import java.util.Arrays;
 import java.util.Objects;
 import java.util.Optional;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.blob.api.BucketName;
 import org.apache.james.blob.objectstorage.PayloadCodec;
 import org.apache.james.blob.objectstorage.SpecificAuthConfiguration;
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 e7b0c5c..62a3260 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
@@ -27,8 +27,8 @@ import java.util.concurrent.TimeoutException;
 import javax.inject.Provider;
 import javax.inject.Singleton;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.blob.api.BlobId;
 import org.apache.james.blob.api.HashBlobId;
 import org.apache.james.blob.objectstorage.BlobPutter;
diff --git a/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageProvider.java b/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageProvider.java
index a9c1cf6..e320097 100644
--- a/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageProvider.java
+++ b/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageProvider.java
@@ -21,7 +21,7 @@ package org.apache.james.modules.objectstorage;
 
 import java.util.Arrays;
 
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 
 public enum ObjectStorageProvider {
     SWIFT("swift"),
diff --git a/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/aws/s3/AwsS3ConfigurationReader.java b/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/aws/s3/AwsS3ConfigurationReader.java
index ac65cba..0ce567d 100644
--- a/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/aws/s3/AwsS3ConfigurationReader.java
+++ b/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/aws/s3/AwsS3ConfigurationReader.java
@@ -19,7 +19,7 @@
 
 package org.apache.james.modules.objectstorage.aws.s3;
 
-import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration2.Configuration;
 import org.apache.james.blob.objectstorage.aws.AwsS3AuthConfiguration;
 
 public class AwsS3ConfigurationReader {
diff --git a/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/swift/SwiftAuthConfiguration.java b/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/swift/SwiftAuthConfiguration.java
index 46773db..29f09c1 100644
--- a/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/swift/SwiftAuthConfiguration.java
+++ b/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/swift/SwiftAuthConfiguration.java
@@ -21,8 +21,8 @@ package org.apache.james.modules.objectstorage.swift;
 
 import java.util.Optional;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.blob.objectstorage.SpecificAuthConfiguration;
 import org.apache.james.blob.objectstorage.swift.SwiftKeystone2ObjectStorage;
 import org.apache.james.blob.objectstorage.swift.SwiftKeystone3ObjectStorage;
diff --git a/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/swift/SwiftKeystone2ConfigurationReader.java b/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/swift/SwiftKeystone2ConfigurationReader.java
index d69555f..33de89b 100644
--- a/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/swift/SwiftKeystone2ConfigurationReader.java
+++ b/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/swift/SwiftKeystone2ConfigurationReader.java
@@ -22,7 +22,7 @@ package org.apache.james.modules.objectstorage.swift;
 import java.net.URI;
 import java.util.Optional;
 
-import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration2.Configuration;
 import org.apache.james.blob.objectstorage.swift.Credentials;
 import org.apache.james.blob.objectstorage.swift.Identity;
 import org.apache.james.blob.objectstorage.swift.Region;
diff --git a/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/swift/SwiftKeystone3ConfigurationReader.java b/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/swift/SwiftKeystone3ConfigurationReader.java
index 46348d3..ca2eb65 100644
--- a/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/swift/SwiftKeystone3ConfigurationReader.java
+++ b/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/swift/SwiftKeystone3ConfigurationReader.java
@@ -22,7 +22,7 @@ package org.apache.james.modules.objectstorage.swift;
 import java.net.URI;
 import java.util.Optional;
 
-import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration2.Configuration;
 import org.apache.james.blob.objectstorage.swift.Credentials;
 import org.apache.james.blob.objectstorage.swift.DomainId;
 import org.apache.james.blob.objectstorage.swift.DomainName;
diff --git a/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/swift/SwiftTmpAuthConfigurationReader.java b/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/swift/SwiftTmpAuthConfigurationReader.java
index 522da64..b21e0c1 100644
--- a/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/swift/SwiftTmpAuthConfigurationReader.java
+++ b/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/swift/SwiftTmpAuthConfigurationReader.java
@@ -22,7 +22,7 @@ package org.apache.james.modules.objectstorage.swift;
 import java.net.URI;
 import java.util.Optional;
 
-import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration2.Configuration;
 import org.apache.james.blob.objectstorage.swift.Credentials;
 import org.apache.james.blob.objectstorage.swift.Identity;
 import org.apache.james.blob.objectstorage.swift.PassHeaderName;
diff --git a/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/MapConfigurationBuilder.java b/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/MapConfigurationBuilder.java
index 48168d0..9f61785 100644
--- a/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/MapConfigurationBuilder.java
+++ b/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/MapConfigurationBuilder.java
@@ -19,7 +19,7 @@
 
 package org.apache.james.modules.objectstorage;
 
-import org.apache.commons.configuration.MapConfiguration;
+import org.apache.commons.configuration2.MapConfiguration;
 
 import com.google.common.collect.ImmutableMap;
 
diff --git a/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/ObjectStorageBlobConfigurationTest.java b/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/ObjectStorageBlobConfigurationTest.java
index 74228b7..e3ee3fd 100644
--- a/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/ObjectStorageBlobConfigurationTest.java
+++ b/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/ObjectStorageBlobConfigurationTest.java
@@ -6,8 +6,8 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import java.util.Map;
 import java.util.stream.Stream;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.MapConfiguration;
+import org.apache.commons.configuration2.MapConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.blob.api.BucketName;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtensionContext;
diff --git a/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/ObjectStorageProviderTest.java b/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/ObjectStorageProviderTest.java
index 6fe0488..71cafc6 100644
--- a/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/ObjectStorageProviderTest.java
+++ b/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/ObjectStorageProviderTest.java
@@ -22,7 +22,7 @@ package org.apache.james.modules.objectstorage;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.junit.jupiter.api.Test;
 
 class ObjectStorageProviderTest {
diff --git a/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/aws/s3/AwsS3ConfigurationReaderTest.java b/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/aws/s3/AwsS3ConfigurationReaderTest.java
index 7cd6042..ec3f6c4 100644
--- a/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/aws/s3/AwsS3ConfigurationReaderTest.java
+++ b/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/aws/s3/AwsS3ConfigurationReaderTest.java
@@ -22,8 +22,8 @@ package org.apache.james.modules.objectstorage.aws.s3;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.PropertiesConfiguration;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.PropertiesConfiguration;
 import org.apache.james.blob.objectstorage.aws.AwsS3AuthConfiguration;
 import org.junit.jupiter.api.Test;
 
diff --git a/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/swift/ObjectStorageBlobConfigurationTest.java b/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/swift/ObjectStorageBlobConfigurationTest.java
index e158c08..ab1b409 100644
--- a/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/swift/ObjectStorageBlobConfigurationTest.java
+++ b/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/swift/ObjectStorageBlobConfigurationTest.java
@@ -25,7 +25,7 @@ import java.net.URI;
 import java.util.Optional;
 import java.util.stream.Stream;
 
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.blob.api.BucketName;
 import org.apache.james.blob.objectstorage.swift.Credentials;
 import org.apache.james.blob.objectstorage.swift.DomainName;
diff --git a/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/swift/SwiftObjectStorageTest.java b/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/swift/SwiftObjectStorageTest.java
index 1bab6b3..88ade65 100644
--- a/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/swift/SwiftObjectStorageTest.java
+++ b/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/swift/SwiftObjectStorageTest.java
@@ -23,7 +23,7 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 import java.util.Optional;
 
-import org.apache.commons.configuration.PropertiesConfiguration;
+import org.apache.commons.configuration2.PropertiesConfiguration;
 import org.apache.james.blob.api.BucketName;
 import org.apache.james.modules.objectstorage.ObjectStorageBlobConfiguration;
 import org.apache.james.modules.objectstorage.ObjectStorageProvider;
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDomainListModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDomainListModule.java
index bc4924b..6361357 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDomainListModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDomainListModule.java
@@ -20,7 +20,7 @@ package org.apache.james.modules.data;
 
 import java.util.List;
 
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.backends.cassandra.components.CassandraModule;
 import org.apache.james.domainlist.api.DomainList;
 import org.apache.james.domainlist.cassandra.CassandraDomainList;
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraRecipientRewriteTableModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraRecipientRewriteTableModule.java
index 6d51367..f3d009e 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraRecipientRewriteTableModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraRecipientRewriteTableModule.java
@@ -20,7 +20,7 @@ package org.apache.james.modules.data;
 
 import java.util.List;
 
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.backends.cassandra.components.CassandraModule;
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.rrt.api.RecipientRewriteTable;
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraUsersRepositoryModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraUsersRepositoryModule.java
index 391d8cc..e6212ab 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraUsersRepositoryModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraUsersRepositoryModule.java
@@ -20,7 +20,7 @@ package org.apache.james.modules.data;
 
 import java.util.List;
 
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.backends.cassandra.components.CassandraModule;
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java
index 681fa26..11ce6ad 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java
@@ -21,8 +21,8 @@ package org.apache.james.modules.mailbox;
 import java.io.FileNotFoundException;
 import java.util.Set;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.backends.cassandra.components.CassandraModule;
 import org.apache.james.backends.cassandra.init.CassandraZonedDateTimeModule;
 import org.apache.james.backends.cassandra.init.SessionWithInitializedTablesFactory;
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java
index 907ae76..cfe3392 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java
@@ -29,8 +29,8 @@ import javax.inject.Inject;
 import javax.inject.Named;
 import javax.inject.Singleton;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.backends.es.ElasticSearchConfiguration;
 import org.apache.james.backends.es.ElasticSearchIndexer;
 import org.apache.james.lifecycle.api.StartUpCheck;
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchQuotaSearcherModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchQuotaSearcherModule.java
index 05b4eb8..1f6934c 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchQuotaSearcherModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchQuotaSearcherModule.java
@@ -27,8 +27,8 @@ import java.util.List;
 
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.backends.es.ElasticSearchConfiguration;
 import org.apache.james.backends.es.ElasticSearchIndexer;
 import org.apache.james.lifecycle.api.Startable;
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/TikaMailboxModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/TikaMailboxModule.java
index 7db0d20..d4020c1 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/TikaMailboxModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/TikaMailboxModule.java
@@ -24,8 +24,8 @@ import java.net.URISyntaxException;
 
 import javax.inject.Singleton;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.mailbox.extractor.TextExtractor;
 import org.apache.james.mailbox.store.extractor.DefaultTextExtractor;
 import org.apache.james.mailbox.tika.CachingTextExtractor;
diff --git a/server/container/guice/cassandra-ldap-guice/src/main/java/org/apache/james/data/LdapUsersRepositoryModule.java b/server/container/guice/cassandra-ldap-guice/src/main/java/org/apache/james/data/LdapUsersRepositoryModule.java
index 18ff239..6ccb734 100644
--- a/server/container/guice/cassandra-ldap-guice/src/main/java/org/apache/james/data/LdapUsersRepositoryModule.java
+++ b/server/container/guice/cassandra-ldap-guice/src/main/java/org/apache/james/data/LdapUsersRepositoryModule.java
@@ -20,7 +20,7 @@ package org.apache.james.data;
 
 import java.util.List;
 
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
 import org.apache.james.user.api.UsersRepository;
diff --git a/server/container/guice/cassandra-ldap-guice/src/test/java/org/apache/james/DockerLdapRule.java b/server/container/guice/cassandra-ldap-guice/src/test/java/org/apache/james/DockerLdapRule.java
index b8a36e3..4a397cb 100644
--- a/server/container/guice/cassandra-ldap-guice/src/test/java/org/apache/james/DockerLdapRule.java
+++ b/server/container/guice/cassandra-ldap-guice/src/test/java/org/apache/james/DockerLdapRule.java
@@ -19,7 +19,7 @@
 
 package org.apache.james;
 
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.user.ldap.DockerLdapSingleton;
 import org.apache.james.user.ldap.LdapRepositoryConfiguration;
 import org.junit.runner.Description;
diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/BlobStoreChoosingConfiguration.java b/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/BlobStoreChoosingConfiguration.java
index f3a15c3..bde669c 100644
--- a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/BlobStoreChoosingConfiguration.java
+++ b/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/BlobStoreChoosingConfiguration.java
@@ -24,7 +24,7 @@ import java.util.Optional;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration2.Configuration;
 import org.apache.commons.lang3.StringUtils;
 
 import com.google.common.base.MoreObjects;
diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/BlobStoreChoosingModule.java b/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/BlobStoreChoosingModule.java
index f47971a..70153c7 100644
--- a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/BlobStoreChoosingModule.java
+++ b/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/blobstore/BlobStoreChoosingModule.java
@@ -25,8 +25,8 @@ import javax.inject.Named;
 import javax.inject.Provider;
 import javax.inject.Singleton;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.backends.cassandra.components.CassandraModule;
 import org.apache.james.blob.api.BlobStore;
 import org.apache.james.blob.api.MetricableBlobStore;
diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/modules/blobstore/BlobStoreChoosingConfigurationTest.java b/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/modules/blobstore/BlobStoreChoosingConfigurationTest.java
index e224e99..a5e1eb1 100644
--- a/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/modules/blobstore/BlobStoreChoosingConfigurationTest.java
+++ b/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/modules/blobstore/BlobStoreChoosingConfigurationTest.java
@@ -22,7 +22,7 @@ package org.apache.james.modules.blobstore;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
-import org.apache.commons.configuration.PropertiesConfiguration;
+import org.apache.commons.configuration2.PropertiesConfiguration;
 import org.junit.jupiter.api.Test;
 
 import nl.jqno.equalsverifier.EqualsVerifier;
diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/modules/blobstore/BlobStoreChoosingModuleTest.java b/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/modules/blobstore/BlobStoreChoosingModuleTest.java
index 3222246..81e9965 100644
--- a/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/modules/blobstore/BlobStoreChoosingModuleTest.java
+++ b/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/modules/blobstore/BlobStoreChoosingModuleTest.java
@@ -23,7 +23,7 @@ import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import static org.mockito.Mockito.mock;
 
-import org.apache.commons.configuration.PropertiesConfiguration;
+import org.apache.commons.configuration2.PropertiesConfiguration;
 import org.apache.james.FakePropertiesProvider;
 import org.apache.james.blob.cassandra.CassandraBlobStore;
 import org.apache.james.blob.objectstorage.ObjectStorageBlobsDAO;
diff --git a/server/container/guice/es-metric-reporter/src/main/java/org/apache/james/modules/server/ElasticSearchMetricReporterModule.java b/server/container/guice/es-metric-reporter/src/main/java/org/apache/james/modules/server/ElasticSearchMetricReporterModule.java
index 11fb2e3..7c2aabb 100644
--- a/server/container/guice/es-metric-reporter/src/main/java/org/apache/james/modules/server/ElasticSearchMetricReporterModule.java
+++ b/server/container/guice/es-metric-reporter/src/main/java/org/apache/james/modules/server/ElasticSearchMetricReporterModule.java
@@ -22,8 +22,8 @@ package org.apache.james.modules.server;
 import java.io.FileNotFoundException;
 import java.util.List;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.metrics.es.ESMetricReporter;
 import org.apache.james.metrics.es.ESReporterConfiguration;
diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/DefaultProcessorsConfigurationProviderModule.java b/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/DefaultProcessorsConfigurationProviderModule.java
index a0fa98d..7f6badb 100644
--- a/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/DefaultProcessorsConfigurationProviderModule.java
+++ b/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/DefaultProcessorsConfigurationProviderModule.java
@@ -19,7 +19,7 @@
 
 package org.apache.james.modules.server;
 
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.server.core.configuration.FileConfigurationProvider;
 
 import com.google.inject.AbstractModule;
diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java b/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java
index 809756a..7f83c44 100644
--- a/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java
+++ b/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java
@@ -22,8 +22,8 @@ package org.apache.james.modules.server;
 import java.util.List;
 import java.util.function.Supplier;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.mailrepository.api.MailRepositoryProvider;
 import org.apache.james.mailrepository.api.MailRepositoryStore;
diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/utils/DataProbeImpl.java b/server/container/guice/guice-common/src/main/java/org/apache/james/utils/DataProbeImpl.java
index ec318b1..3f07581 100644
--- a/server/container/guice/guice-common/src/main/java/org/apache/james/utils/DataProbeImpl.java
+++ b/server/container/guice/guice-common/src/main/java/org/apache/james/utils/DataProbeImpl.java
@@ -24,7 +24,7 @@ import java.util.Map;
 
 import javax.inject.Inject;
 
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
 import org.apache.james.core.Domain;
 import org.apache.james.domainlist.api.DomainList;
 import org.apache.james.probe.DataProbe;
@@ -65,7 +65,7 @@ public class DataProbeImpl implements GuiceProbe, DataProbe {
 
     @Override
     public void setPassword(String userName, String password) {
-        throw new NotImplementedException();
+        throw new NotImplementedException("not implemented");
     }
 
     @Override
@@ -112,7 +112,7 @@ public class DataProbeImpl implements GuiceProbe, DataProbe {
 
     @Override
     public Mappings listUserDomainMappings(String user, String domain) {
-        throw new NotImplementedException();
+        throw new NotImplementedException("not implemented");
     }
 
     @Override
diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/utils/GuiceProtocolHandlerLoader.java b/server/container/guice/guice-common/src/main/java/org/apache/james/utils/GuiceProtocolHandlerLoader.java
index 18ade71..23fbd20 100644
--- a/server/container/guice/guice-common/src/main/java/org/apache/james/utils/GuiceProtocolHandlerLoader.java
+++ b/server/container/guice/guice-common/src/main/java/org/apache/james/utils/GuiceProtocolHandlerLoader.java
@@ -19,8 +19,8 @@
 
 package org.apache.james.utils;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.handler.ProtocolHandler;
 import org.apache.james.protocols.lib.handler.ProtocolHandlerLoader;
 
diff --git a/server/container/guice/guice-common/src/test/java/org/apache/james/FakePropertiesProvider.java b/server/container/guice/guice-common/src/test/java/org/apache/james/FakePropertiesProvider.java
index ac1d943..146eb42 100644
--- a/server/container/guice/guice-common/src/test/java/org/apache/james/FakePropertiesProvider.java
+++ b/server/container/guice/guice-common/src/test/java/org/apache/james/FakePropertiesProvider.java
@@ -23,7 +23,7 @@ import java.io.FileNotFoundException;
 import java.util.Arrays;
 import java.util.Optional;
 
-import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration2.Configuration;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.james.filesystem.api.FileSystem;
 import org.apache.james.util.OptionalUtils;
diff --git a/server/container/guice/guice-common/src/test/java/org/apache/james/modules/ConfigurationsPerformerTest.java b/server/container/guice/guice-common/src/test/java/org/apache/james/modules/ConfigurationsPerformerTest.java
index d44ecbd..062d8d1 100644
--- a/server/container/guice/guice-common/src/test/java/org/apache/james/modules/ConfigurationsPerformerTest.java
+++ b/server/container/guice/guice-common/src/test/java/org/apache/james/modules/ConfigurationsPerformerTest.java
@@ -25,8 +25,8 @@ import java.util.List;
 
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.lifecycle.api.Configurable;
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.utils.ConfigurationPerformer;
diff --git a/server/container/guice/guice-common/src/test/java/org/apache/james/utils/ConfigurablesTest.java b/server/container/guice/guice-common/src/test/java/org/apache/james/utils/ConfigurablesTest.java
index 378bf63..963be0a 100644
--- a/server/container/guice/guice-common/src/test/java/org/apache/james/utils/ConfigurablesTest.java
+++ b/server/container/guice/guice-common/src/test/java/org/apache/james/utils/ConfigurablesTest.java
@@ -21,8 +21,8 @@ package org.apache.james.utils;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.lifecycle.api.Configurable;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/server/container/guice/guice-common/src/test/java/org/apache/james/utils/FailingPropertiesProvider.java b/server/container/guice/guice-common/src/test/java/org/apache/james/utils/FailingPropertiesProvider.java
index baeea67..f525a34 100644
--- a/server/container/guice/guice-common/src/test/java/org/apache/james/utils/FailingPropertiesProvider.java
+++ b/server/container/guice/guice-common/src/test/java/org/apache/james/utils/FailingPropertiesProvider.java
@@ -23,8 +23,8 @@ import java.io.FileNotFoundException;
 
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.PropertiesConfiguration;
+import org.apache.commons.configuration2.PropertiesConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.filesystem.api.FileSystem;
 import org.apache.james.server.core.configuration.Configuration;
 
diff --git a/server/container/guice/guice-common/src/test/java/org/apache/james/utils/FileConfigurationProviderTest.java b/server/container/guice/guice-common/src/test/java/org/apache/james/utils/FileConfigurationProviderTest.java
index 5695046..c85fc39 100644
--- a/server/container/guice/guice-common/src/test/java/org/apache/james/utils/FileConfigurationProviderTest.java
+++ b/server/container/guice/guice-common/src/test/java/org/apache/james/utils/FileConfigurationProviderTest.java
@@ -21,7 +21,8 @@ package org.apache.james.utils;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationRuntimeException;
 import org.apache.james.server.core.configuration.Configuration;
 import org.apache.james.server.core.configuration.FileConfigurationProvider;
 import org.apache.james.server.core.filesystem.FileSystemImpl;
@@ -136,7 +137,7 @@ public class FileConfigurationProviderTest {
         assertThat(configurationProvider.getConfiguration(FAKE_CONFIG_KEY)).isEqualTo(FileConfigurationProvider.EMPTY_CONFIGURATION);
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test(expected = ConfigurationRuntimeException.class)
     public void getConfigurationShouldThrowOnNonExistingXMLFilePart() throws Exception {
         configurationProvider.getConfiguration(String.join(CONFIG_SEPARATOR, ROOT_CONFIG_KEY, FAKE_CONFIG_KEY));
     }
diff --git a/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JMXServerModule.java b/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JMXServerModule.java
index 8ee57a7..a7adfe6 100644
--- a/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JMXServerModule.java
+++ b/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JMXServerModule.java
@@ -22,7 +22,7 @@ package org.apache.james.modules.server;
 import java.io.FileNotFoundException;
 import java.util.List;
 
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.adapter.mailbox.MailboxCopierManagement;
 import org.apache.james.adapter.mailbox.MailboxCopierManagementMBean;
 import org.apache.james.adapter.mailbox.MailboxManagerManagement;
diff --git a/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JmxConfiguration.java b/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JmxConfiguration.java
index c0430c7..9bbebd3 100644
--- a/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JmxConfiguration.java
+++ b/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JmxConfiguration.java
@@ -22,7 +22,7 @@ package org.apache.james.modules.server;
 import java.util.Objects;
 import java.util.Optional;
 
-import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration2.Configuration;
 import org.apache.james.util.Host;
 
 import com.google.common.annotations.VisibleForTesting;
diff --git a/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPADomainListModule.java b/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPADomainListModule.java
index aa49b93..2fa244d 100644
--- a/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPADomainListModule.java
+++ b/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPADomainListModule.java
@@ -20,7 +20,7 @@ package org.apache.james.modules.data;
 
 import java.util.List;
 
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.domainlist.api.DomainList;
 import org.apache.james.domainlist.jpa.JPADomainList;
 import org.apache.james.domainlist.lib.DomainListConfiguration;
diff --git a/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPAEntityManagerModule.java b/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPAEntityManagerModule.java
index eda24ef..1269942 100644
--- a/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPAEntityManagerModule.java
+++ b/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPAEntityManagerModule.java
@@ -27,8 +27,8 @@ import javax.inject.Singleton;
 import javax.persistence.EntityManagerFactory;
 import javax.persistence.Persistence;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.utils.PropertiesProvider;
 
 import com.google.common.base.Joiner;
diff --git a/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPARecipientRewriteTableModule.java b/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPARecipientRewriteTableModule.java
index 30ce944..f6126d5 100644
--- a/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPARecipientRewriteTableModule.java
+++ b/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPARecipientRewriteTableModule.java
@@ -20,7 +20,7 @@ package org.apache.james.modules.data;
 
 import java.util.List;
 
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.rrt.api.RecipientRewriteTable;
 import org.apache.james.rrt.jpa.JPARecipientRewriteTable;
diff --git a/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPAUsersRepositoryModule.java b/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPAUsersRepositoryModule.java
index c4d1d0d..7aedad5 100644
--- a/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPAUsersRepositoryModule.java
+++ b/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPAUsersRepositoryModule.java
@@ -20,7 +20,7 @@ package org.apache.james.modules.data;
 
 import java.util.List;
 
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
 import org.apache.james.user.api.UsersRepository;
diff --git a/server/container/guice/mailbox-plugin-deleted-messages-vault-guice/src/main/java/org/apache/james/modules/vault/DeletedMessageVaultRetentionModule.java b/server/container/guice/mailbox-plugin-deleted-messages-vault-guice/src/main/java/org/apache/james/modules/vault/DeletedMessageVaultRetentionModule.java
index 4c174d6..95a420d 100644
--- a/server/container/guice/mailbox-plugin-deleted-messages-vault-guice/src/main/java/org/apache/james/modules/vault/DeletedMessageVaultRetentionModule.java
+++ b/server/container/guice/mailbox-plugin-deleted-messages-vault-guice/src/main/java/org/apache/james/modules/vault/DeletedMessageVaultRetentionModule.java
@@ -23,7 +23,7 @@ import java.io.FileNotFoundException;
 
 import javax.inject.Singleton;
 
-import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration2.Configuration;
 import org.apache.james.utils.PropertiesProvider;
 import org.apache.james.vault.RetentionConfiguration;
 import org.slf4j.Logger;
@@ -43,7 +43,7 @@ public class DeletedMessageVaultRetentionModule extends AbstractModule {
 
     @Provides
     @Singleton
-    RetentionConfiguration providesRetentionConfiguration(PropertiesProvider propertiesProvider) throws ConfigurationException, org.apache.commons.configuration.ConfigurationException {
+    RetentionConfiguration providesRetentionConfiguration(PropertiesProvider propertiesProvider) throws ConfigurationException, org.apache.commons.configuration2.ex.ConfigurationException {
         try {
             Configuration configuration = propertiesProvider.getConfiguration("deletedMessageVault");
             return RetentionConfiguration.from(configuration);
diff --git a/server/container/guice/mailbox-plugin-spamassassin/src/main/java/org/apache/james/modules/spamassassin/SpamAssassinConfigurationLoader.java b/server/container/guice/mailbox-plugin-spamassassin/src/main/java/org/apache/james/modules/spamassassin/SpamAssassinConfigurationLoader.java
index 219241b..17d9d9f 100644
--- a/server/container/guice/mailbox-plugin-spamassassin/src/main/java/org/apache/james/modules/spamassassin/SpamAssassinConfigurationLoader.java
+++ b/server/container/guice/mailbox-plugin-spamassassin/src/main/java/org/apache/james/modules/spamassassin/SpamAssassinConfigurationLoader.java
@@ -21,7 +21,7 @@ package org.apache.james.modules.spamassassin;
 
 import java.util.Optional;
 
-import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration2.Configuration;
 import org.apache.james.mailbox.spamassassin.SpamAssassinConfiguration;
 import org.apache.james.util.Host;
 
diff --git a/server/container/guice/mailbox-plugin-spamassassin/src/main/java/org/apache/james/modules/spamassassin/SpamAssassinListenerModule.java b/server/container/guice/mailbox-plugin-spamassassin/src/main/java/org/apache/james/modules/spamassassin/SpamAssassinListenerModule.java
index ecfa19b..06e18b3 100644
--- a/server/container/guice/mailbox-plugin-spamassassin/src/main/java/org/apache/james/modules/spamassassin/SpamAssassinListenerModule.java
+++ b/server/container/guice/mailbox-plugin-spamassassin/src/main/java/org/apache/james/modules/spamassassin/SpamAssassinListenerModule.java
@@ -23,8 +23,8 @@ import java.io.FileNotFoundException;
 
 import javax.inject.Singleton;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.mailbox.spamassassin.SpamAssassinConfiguration;
 import org.apache.james.utils.PropertiesProvider;
 import org.slf4j.Logger;
diff --git a/server/container/guice/mailbox-plugin-spamassassin/src/test/java/org/apache/james/modules/spamassassin/SpamAssassinConfigurationLoaderTest.java b/server/container/guice/mailbox-plugin-spamassassin/src/test/java/org/apache/james/modules/spamassassin/SpamAssassinConfigurationLoaderTest.java
index 13fe8d4..fff2bc4 100644
--- a/server/container/guice/mailbox-plugin-spamassassin/src/test/java/org/apache/james/modules/spamassassin/SpamAssassinConfigurationLoaderTest.java
+++ b/server/container/guice/mailbox-plugin-spamassassin/src/test/java/org/apache/james/modules/spamassassin/SpamAssassinConfigurationLoaderTest.java
@@ -20,7 +20,7 @@ package org.apache.james.modules.spamassassin;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
-import org.apache.commons.configuration.PropertiesConfiguration;
+import org.apache.commons.configuration2.PropertiesConfiguration;
 import org.apache.james.mailbox.spamassassin.SpamAssassinConfiguration;
 import org.apache.james.util.Host;
 import org.junit.Test;
diff --git a/server/container/guice/mailbox/src/main/java/org/apache/james/modules/MailboxProbeImpl.java b/server/container/guice/mailbox/src/main/java/org/apache/james/modules/MailboxProbeImpl.java
index aa6b68d..df0e819 100644
--- a/server/container/guice/mailbox/src/main/java/org/apache/james/modules/MailboxProbeImpl.java
+++ b/server/container/guice/mailbox/src/main/java/org/apache/james/modules/MailboxProbeImpl.java
@@ -29,7 +29,7 @@ import java.util.stream.Collectors;
 import javax.inject.Inject;
 import javax.mail.Flags;
 
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
 import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.MessageManager;
@@ -178,22 +178,22 @@ public class MailboxProbeImpl implements GuiceProbe, MailboxProbe {
 
     @Override
     public void copyMailbox(String srcBean, String dstBean) throws Exception {
-        throw new NotImplementedException();
+        throw new NotImplementedException("not implemented");
     }
 
     @Override
     public void deleteUserMailboxesNames(String user) throws Exception {
-        throw new NotImplementedException();
+        throw new NotImplementedException("not implemented");
     }
 
     @Override
     public void reIndexMailbox(String namespace, String user, String name) throws Exception {
-        throw new NotImplementedException();
+        throw new NotImplementedException("not implemented");
     }
 
     @Override
     public void reIndexAll() throws Exception {
-        throw new NotImplementedException();
+        throw new NotImplementedException("not implemented");
     }
 
     @Override
diff --git a/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/DefaultEventModule.java b/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/DefaultEventModule.java
index 68c082e..1fb2c6d 100644
--- a/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/DefaultEventModule.java
+++ b/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/DefaultEventModule.java
@@ -23,7 +23,7 @@ import java.util.List;
 
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.mailbox.events.EventBus;
 import org.apache.james.mailbox.events.EventDeadLetters;
diff --git a/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/ListenerConfiguration.java b/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/ListenerConfiguration.java
index 2eea8a2..1b64ded 100644
--- a/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/ListenerConfiguration.java
+++ b/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/ListenerConfiguration.java
@@ -20,7 +20,7 @@ package org.apache.james.modules.mailbox;
 
 import java.util.Optional;
 
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
 
 import com.google.common.base.Preconditions;
 import com.google.common.base.Strings;
diff --git a/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/MailboxListenersLoaderImpl.java b/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/MailboxListenersLoaderImpl.java
index 11f6bd1..50fc5bf 100644
--- a/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/MailboxListenersLoaderImpl.java
+++ b/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/MailboxListenersLoaderImpl.java
@@ -20,7 +20,7 @@ package org.apache.james.modules.mailbox;
 
 import java.util.Set;
 
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
 import org.apache.commons.lang3.tuple.Pair;
 import org.apache.james.lifecycle.api.Configurable;
 import org.apache.james.mailbox.events.EventBus;
diff --git a/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/PreDeletionHookConfiguration.java b/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/PreDeletionHookConfiguration.java
index e0a22f1..8d37ffd 100644
--- a/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/PreDeletionHookConfiguration.java
+++ b/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/PreDeletionHookConfiguration.java
@@ -20,8 +20,8 @@ package org.apache.james.modules.mailbox;
 
 import java.util.Objects;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.mailbox.extension.PreDeletionHook;
 
 import com.google.common.base.Preconditions;
diff --git a/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/PreDeletionHookModule.java b/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/PreDeletionHookModule.java
index c17bb84..e99e48a 100644
--- a/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/PreDeletionHookModule.java
+++ b/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/PreDeletionHookModule.java
@@ -23,7 +23,7 @@ import java.util.Set;
 
 import javax.inject.Singleton;
 
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.mailbox.extension.PreDeletionHook;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
 
diff --git a/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/PreDeletionHooksConfiguration.java b/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/PreDeletionHooksConfiguration.java
index eab2fcc..048ec1a 100644
--- a/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/PreDeletionHooksConfiguration.java
+++ b/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/PreDeletionHooksConfiguration.java
@@ -21,8 +21,8 @@ package org.apache.james.modules.mailbox;
 import java.util.List;
 import java.util.Objects;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 
 import com.github.fge.lambdas.Throwing;
 import com.github.steveash.guavate.Guavate;
@@ -33,11 +33,12 @@ public class PreDeletionHooksConfiguration {
     static final String CONFIGURATION_ENTRY_NAME = "preDeletionHook";
 
     public static PreDeletionHooksConfiguration from(HierarchicalConfiguration configuration) throws ConfigurationException {
-        return new PreDeletionHooksConfiguration(
-                configuration.configurationsAt(CONFIGURATION_ENTRY_NAME)
-                    .stream()
-                    .map(Throwing.function(PreDeletionHookConfiguration::from).sneakyThrow())
-                    .collect(Guavate.toImmutableList()));
+        List<HierarchicalConfiguration> entries = configuration.configurationsAt(CONFIGURATION_ENTRY_NAME);
+
+        return new PreDeletionHooksConfiguration(entries
+            .stream()
+            .map(Throwing.function(PreDeletionHookConfiguration::from).sneakyThrow())
+            .collect(Guavate.toImmutableList()));
     }
 
     public static PreDeletionHooksConfiguration forHooks(PreDeletionHookConfiguration... hooks) {
diff --git a/server/container/guice/mailbox/src/test/java/org/apache/james/modules/mailbox/ListenerConfigurationTest.java b/server/container/guice/mailbox/src/test/java/org/apache/james/modules/mailbox/ListenerConfigurationTest.java
index c766053..46acb7f 100644
--- a/server/container/guice/mailbox/src/test/java/org/apache/james/modules/mailbox/ListenerConfigurationTest.java
+++ b/server/container/guice/mailbox/src/test/java/org/apache/james/modules/mailbox/ListenerConfigurationTest.java
@@ -21,14 +21,14 @@ package org.apache.james.modules.mailbox;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.junit.jupiter.api.Test;
 
 class ListenerConfigurationTest {
 
     @Test
     void fromShouldThrowWhenClassIsNotInTheConfiguration() {
-        DefaultConfigurationBuilder configuration = new DefaultConfigurationBuilder();
+        BaseHierarchicalConfiguration configuration = new BaseHierarchicalConfiguration();
 
         assertThatThrownBy(() -> ListenerConfiguration.from(configuration))
             .isInstanceOf(IllegalStateException.class);
@@ -36,7 +36,7 @@ class ListenerConfigurationTest {
 
     @Test
     void fromShouldThrowWhenClassIsEmpty() {
-        DefaultConfigurationBuilder configuration = new DefaultConfigurationBuilder();
+        BaseHierarchicalConfiguration configuration = new BaseHierarchicalConfiguration();
         configuration.addProperty("class", "");
 
         assertThatThrownBy(() -> ListenerConfiguration.from(configuration))
@@ -45,7 +45,7 @@ class ListenerConfigurationTest {
 
     @Test
     void getClazzShouldReturnTheClassNameFromTheConfiguration() {
-        DefaultConfigurationBuilder configuration = new DefaultConfigurationBuilder();
+        BaseHierarchicalConfiguration configuration = new BaseHierarchicalConfiguration();
         String expectedClazz = "MyClassName";
         configuration.addProperty("class", expectedClazz);
 
@@ -56,7 +56,7 @@ class ListenerConfigurationTest {
 
     @Test
     void isAsyncShouldReturnConfiguredValue() {
-        DefaultConfigurationBuilder configuration = new DefaultConfigurationBuilder();
+        BaseHierarchicalConfiguration configuration = new BaseHierarchicalConfiguration();
         configuration.addProperty("class", "MyClassName");
         configuration.addProperty("async", "false");
 
@@ -67,7 +67,7 @@ class ListenerConfigurationTest {
 
     @Test
     void getGroupShouldBeEmptyByDefault() {
-        DefaultConfigurationBuilder configuration = new DefaultConfigurationBuilder();
+        BaseHierarchicalConfiguration configuration = new BaseHierarchicalConfiguration();
         configuration.addProperty("class", "MyClassName");
 
         ListenerConfiguration listenerConfiguration = ListenerConfiguration.from(configuration);
@@ -78,7 +78,7 @@ class ListenerConfigurationTest {
     @Test
     void getGroupShouldContainsConfiguredValue() {
         String groupName = "Avengers";
-        DefaultConfigurationBuilder configuration = new DefaultConfigurationBuilder();
+        BaseHierarchicalConfiguration configuration = new BaseHierarchicalConfiguration();
         configuration.addProperty("class", "MyClassName");
         configuration.addProperty("group", groupName);
 
diff --git a/server/container/guice/memory-guice/src/main/java/org/apache/james/FakeMessageSearchIndex.java b/server/container/guice/memory-guice/src/main/java/org/apache/james/FakeMessageSearchIndex.java
index 1ab3a1d..c42d956 100644
--- a/server/container/guice/memory-guice/src/main/java/org/apache/james/FakeMessageSearchIndex.java
+++ b/server/container/guice/memory-guice/src/main/java/org/apache/james/FakeMessageSearchIndex.java
@@ -24,7 +24,7 @@ import java.util.EnumSet;
 import java.util.List;
 import java.util.stream.Stream;
 
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
 import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.MessageUid;
@@ -49,22 +49,22 @@ public class FakeMessageSearchIndex extends ListeningMessageSearchIndex {
 
     @Override
     public void add(MailboxSession session, Mailbox mailbox, MailboxMessage message) throws Exception {
-        throw new NotImplementedException();
+        throw new NotImplementedException("not implemented");
     }
 
     @Override
     public void delete(MailboxSession session, Mailbox mailbox, Collection<MessageUid> expungedUids) throws Exception {
-        throw new NotImplementedException();
+        throw new NotImplementedException("not implemented");
     }
 
     @Override
     public void deleteAll(MailboxSession session, Mailbox mailbox) throws Exception {
-        throw new NotImplementedException();
+        throw new NotImplementedException("not implemented");
     }
 
     @Override
     public void update(MailboxSession session, Mailbox mailbox, List<UpdatedFlags> updatedFlagsList) throws Exception {
-        throw new NotImplementedException();
+        throw new NotImplementedException("not implemented");
     }
 
     @Override
@@ -74,21 +74,21 @@ public class FakeMessageSearchIndex extends ListeningMessageSearchIndex {
 
     @Override
     public Stream<MessageUid> search(MailboxSession session, Mailbox mailbox, SearchQuery searchQuery) throws MailboxException {
-        throw new NotImplementedException();
+        throw new NotImplementedException("not implemented");
     }
 
     @Override
     public List<MessageId> search(MailboxSession session, Collection<MailboxId> mailboxIds, SearchQuery searchQuery, long limit) throws MailboxException {
-        throw new NotImplementedException();
+        throw new NotImplementedException("not implemented");
     }
 
     @Override
     public EnumSet<MailboxManager.SearchCapabilities> getSupportedCapabilities(EnumSet<MailboxManager.MessageCapabilities> messageCapabilities) {
-        throw new NotImplementedException();
+        throw new NotImplementedException("not implemented");
     }
 
     @Override
     public ExecutionMode getExecutionMode() {
-        throw new NotImplementedException();
+        throw new NotImplementedException("not implemented");
     }
 }
diff --git a/server/container/guice/protocols/jmap/src/main/java/org/apache/james/jmap/JMAPModule.java b/server/container/guice/protocols/jmap/src/main/java/org/apache/james/jmap/JMAPModule.java
index 02a24b0..1aca8ca 100644
--- a/server/container/guice/protocols/jmap/src/main/java/org/apache/james/jmap/JMAPModule.java
+++ b/server/container/guice/protocols/jmap/src/main/java/org/apache/james/jmap/JMAPModule.java
@@ -25,8 +25,8 @@ import java.util.EnumSet;
 import java.util.Optional;
 import java.util.stream.Stream;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.commons.io.FileUtils;
 import org.apache.james.filesystem.api.FileSystem;
 import org.apache.james.jmap.event.PropagateLookupRightListener;
diff --git a/server/container/guice/protocols/jmap/src/test/java/org/apache/james/jmap/MailetPreconditionTest.java b/server/container/guice/protocols/jmap/src/test/java/org/apache/james/jmap/MailetPreconditionTest.java
index 6971db3..465293c 100644
--- a/server/container/guice/protocols/jmap/src/test/java/org/apache/james/jmap/MailetPreconditionTest.java
+++ b/server/container/guice/protocols/jmap/src/test/java/org/apache/james/jmap/MailetPreconditionTest.java
@@ -24,7 +24,7 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 import java.util.List;
 
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.jmap.mailet.VacationMailet;
 import org.apache.james.jmap.mailet.filter.JMAPFiltering;
 import org.apache.james.mailetcontainer.impl.MatcherMailetPair;
diff --git a/server/container/guice/protocols/jmap/src/test/java/org/apache/james/modules/TestJMAPServerModule.java b/server/container/guice/protocols/jmap/src/test/java/org/apache/james/modules/TestJMAPServerModule.java
index ba78607..8beaa81 100644
--- a/server/container/guice/protocols/jmap/src/test/java/org/apache/james/modules/TestJMAPServerModule.java
+++ b/server/container/guice/protocols/jmap/src/test/java/org/apache/james/modules/TestJMAPServerModule.java
@@ -24,7 +24,7 @@ import java.util.Optional;
 
 import javax.inject.Singleton;
 
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.jmap.JMAPConfiguration;
 import org.apache.james.jmap.methods.GetMessageListMethod;
 
diff --git a/server/container/guice/protocols/webadmin/src/main/java/org/apache/james/modules/server/WebAdminServerModule.java b/server/container/guice/protocols/webadmin/src/main/java/org/apache/james/modules/server/WebAdminServerModule.java
index 3176dd6..07165399 100644
--- a/server/container/guice/protocols/webadmin/src/main/java/org/apache/james/modules/server/WebAdminServerModule.java
+++ b/server/container/guice/protocols/webadmin/src/main/java/org/apache/james/modules/server/WebAdminServerModule.java
@@ -25,7 +25,7 @@ import java.io.FileNotFoundException;
 import java.util.List;
 import java.util.Optional;
 
-import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration2.Configuration;
 import org.apache.james.jwt.JwtTokenVerifier;
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.utils.ConfigurationPerformer;
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 e54963c..2a09afe 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
@@ -23,8 +23,8 @@ import java.io.FileNotFoundException;
 import javax.inject.Named;
 import javax.inject.Singleton;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.backend.rabbitmq.RabbitMQChannelPool;
 import org.apache.james.backend.rabbitmq.RabbitMQConfiguration;
 import org.apache.james.backend.rabbitmq.SimpleChannelPool;
diff --git a/server/container/jetty/src/main/java/org/apache/james/http/jetty/JettyHttpServerFactory.java b/server/container/jetty/src/main/java/org/apache/james/http/jetty/JettyHttpServerFactory.java
index c523ea5..3b1cbeb 100644
--- a/server/container/jetty/src/main/java/org/apache/james/http/jetty/JettyHttpServerFactory.java
+++ b/server/container/jetty/src/main/java/org/apache/james/http/jetty/JettyHttpServerFactory.java
@@ -24,7 +24,7 @@ import java.util.stream.Collectors;
 import javax.servlet.Filter;
 import javax.servlet.Servlet;
 
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
 import org.apache.james.http.jetty.Configuration.Builder;
 
 public class JettyHttpServerFactory {
@@ -51,12 +51,14 @@ public class JettyHttpServerFactory {
         if (port != null) {
             builder.port(port);
         }
-        for (HierarchicalConfiguration mapping: serverConfig.configurationsAt("mappings.mapping")) {
+        List<HierarchicalConfiguration> mappings = serverConfig.configurationsAt("mappings.mapping");
+        for (HierarchicalConfiguration mapping: mappings) {
             String classname = mapping.getString("servlet");
             Class<? extends Servlet> servletClass = findServlet(classname);
             builder.serve(mapping.getString("path")).with(servletClass);
         }
-        for (HierarchicalConfiguration mapping: serverConfig.configurationsAt("filters.mapping")) {
+        List<HierarchicalConfiguration> filters = serverConfig.configurationsAt("filters.mapping");
+        for (HierarchicalConfiguration mapping: filters) {
             String classname = mapping.getString("filter");
             Class<? extends Filter> filterClass = findFilter(classname);
             builder.filter(mapping.getString("path")).with(filterClass);
diff --git a/server/container/lifecycle-api/src/main/java/org/apache/james/lifecycle/api/Configurable.java b/server/container/lifecycle-api/src/main/java/org/apache/james/lifecycle/api/Configurable.java
index 0424983..c375a9a 100644
--- a/server/container/lifecycle-api/src/main/java/org/apache/james/lifecycle/api/Configurable.java
+++ b/server/container/lifecycle-api/src/main/java/org/apache/james/lifecycle/api/Configurable.java
@@ -19,8 +19,8 @@
 
 package org.apache.james.lifecycle.api;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 
 /**
  * Classes which needs to access the configuration should implement this
diff --git a/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factory/protocols/ProtocolHandlerLoaderBeanFactory.java b/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factory/protocols/ProtocolHandlerLoaderBeanFactory.java
index 0f59d38..cc666e9 100644
--- a/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factory/protocols/ProtocolHandlerLoaderBeanFactory.java
+++ b/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factory/protocols/ProtocolHandlerLoaderBeanFactory.java
@@ -18,8 +18,8 @@
  ****************************************************************/
 package org.apache.james.container.spring.bean.factory.protocols;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.container.spring.bean.factory.AbstractBeanFactory;
 import org.apache.james.protocols.api.handler.ProtocolHandler;
 import org.apache.james.protocols.lib.handler.ProtocolHandlerLoader;
diff --git a/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factorypostprocessor/ConfigurationBeanFactoryPostProcessor.java b/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factorypostprocessor/ConfigurationBeanFactoryPostProcessor.java
index 16133fe..5ad79d2 100644
--- a/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factorypostprocessor/ConfigurationBeanFactoryPostProcessor.java
+++ b/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factorypostprocessor/ConfigurationBeanFactoryPostProcessor.java
@@ -20,8 +20,8 @@ package org.apache.james.container.spring.bean.factorypostprocessor;
 
 import java.util.Map;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.container.spring.lifecycle.ConfigurationProvider;
 import org.springframework.beans.BeansException;
 import org.springframework.beans.FatalBeanException;
diff --git a/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factorypostprocessor/IndexerConfigurationBeanFactoryPostProcessor.java b/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factorypostprocessor/IndexerConfigurationBeanFactoryPostProcessor.java
index 4eb9fd9..85a5fbd 100644
--- a/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factorypostprocessor/IndexerConfigurationBeanFactoryPostProcessor.java
+++ b/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factorypostprocessor/IndexerConfigurationBeanFactoryPostProcessor.java
@@ -19,8 +19,8 @@
 
 package org.apache.james.container.spring.bean.factorypostprocessor;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.container.spring.lifecycle.ConfigurationProvider;
 import org.springframework.beans.BeansException;
 import org.springframework.beans.FatalBeanException;
diff --git a/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factorypostprocessor/MailboxConfigurationBeanFactoryPostProcessor.java b/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factorypostprocessor/MailboxConfigurationBeanFactoryPostProcessor.java
index 4ca6b8b..e73be7a 100644
--- a/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factorypostprocessor/MailboxConfigurationBeanFactoryPostProcessor.java
+++ b/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factorypostprocessor/MailboxConfigurationBeanFactoryPostProcessor.java
@@ -19,8 +19,8 @@
 
 package org.apache.james.container.spring.bean.factorypostprocessor;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.container.spring.lifecycle.ConfigurationProvider;
 import org.springframework.beans.BeansException;
 import org.springframework.beans.FatalBeanException;
diff --git a/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factorypostprocessor/QuotaBeanFactoryPostProcessor.java b/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factorypostprocessor/QuotaBeanFactoryPostProcessor.java
index 2d9bfa7..67ad030 100644
--- a/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factorypostprocessor/QuotaBeanFactoryPostProcessor.java
+++ b/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factorypostprocessor/QuotaBeanFactoryPostProcessor.java
@@ -19,8 +19,8 @@
 
 package org.apache.james.container.spring.bean.factorypostprocessor;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.container.spring.lifecycle.ConfigurationProvider;
 import org.springframework.beans.BeansException;
 import org.springframework.beans.FatalBeanException;
diff --git a/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/ConfigurableBeanPostProcessor.java b/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/ConfigurableBeanPostProcessor.java
index b0975f2..c694960 100644
--- a/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/ConfigurableBeanPostProcessor.java
+++ b/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/ConfigurableBeanPostProcessor.java
@@ -18,7 +18,7 @@
  ****************************************************************/
 package org.apache.james.container.spring.lifecycle;
 
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
 import org.apache.james.lifecycle.api.Configurable;
 
 /**
diff --git a/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/ConfigurationProvider.java b/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/ConfigurationProvider.java
index e6b804b..1c36389 100644
--- a/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/ConfigurationProvider.java
+++ b/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/ConfigurationProvider.java
@@ -18,8 +18,8 @@
  ****************************************************************/
 package org.apache.james.container.spring.lifecycle;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 
 /**
  * Load {@link HierarchicalConfiguration} for beans
diff --git a/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/ConfigurationProviderImpl.java b/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/ConfigurationProviderImpl.java
index 20b6d65..5570ea9 100644
--- a/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/ConfigurationProviderImpl.java
+++ b/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/ConfigurationProviderImpl.java
@@ -22,9 +22,13 @@ import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
-import org.apache.commons.configuration.XMLConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.XMLConfiguration;
+import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder;
+import org.apache.commons.configuration2.builder.fluent.Parameters;
+import org.apache.commons.configuration2.convert.DisabledListDelimiterHandler;
+import org.apache.commons.configuration2.ex.ConfigurationException;
+import org.apache.commons.configuration2.io.FileHandler;
 import org.springframework.beans.factory.InitializingBean;
 import org.springframework.context.ResourceLoaderAware;
 import org.springframework.core.io.Resource;
@@ -143,17 +147,15 @@ public class ConfigurationProviderImpl implements ConfigurationProvider, Resourc
      * @throws IOException
      */
     private XMLConfiguration getConfig(Resource r) throws ConfigurationException, IOException {
-        XMLConfiguration config = new XMLConfiguration();
-        config.setDelimiterParsingDisabled(true);
-        
-        // Don't split attributes which can have bad side-effects with matcher-conditions.
-        // See JAMES-1233
-        config.setAttributeSplittingDisabled(true);
-        
-        // Use InputStream so we are not bound to File implementations of the
-        // config
-        config.load(r.getInputStream());
-        return config;
+        FileBasedConfigurationBuilder<XMLConfiguration> builder = new FileBasedConfigurationBuilder<>(XMLConfiguration.class)
+            .configure(new Parameters()
+                .xml()
+                .setListDelimiterHandler(new DisabledListDelimiterHandler()));
+        XMLConfiguration xmlConfiguration = builder.getConfiguration();
+        FileHandler fileHandler = new FileHandler(xmlConfiguration);
+        fileHandler.load(r.getInputStream());
+
+        return xmlConfiguration;
     }
 
     /**
diff --git a/server/container/spring/src/main/java/org/apache/james/container/spring/mailbox/MaxQuotaConfigurationReader.java b/server/container/spring/src/main/java/org/apache/james/container/spring/mailbox/MaxQuotaConfigurationReader.java
index d46f302..7a68b3e 100644
--- a/server/container/spring/src/main/java/org/apache/james/container/spring/mailbox/MaxQuotaConfigurationReader.java
+++ b/server/container/spring/src/main/java/org/apache/james/container/spring/mailbox/MaxQuotaConfigurationReader.java
@@ -23,8 +23,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.quota.QuotaCount;
 import org.apache.james.core.quota.QuotaSize;
 import org.apache.james.lifecycle.api.Configurable;
diff --git a/server/container/spring/src/main/java/org/apache/james/container/spring/osgi/AbstractBundleTracker.java b/server/container/spring/src/main/java/org/apache/james/container/spring/osgi/AbstractBundleTracker.java
index ae841a6..21df241 100644
--- a/server/container/spring/src/main/java/org/apache/james/container/spring/osgi/AbstractBundleTracker.java
+++ b/server/container/spring/src/main/java/org/apache/james/container/spring/osgi/AbstractBundleTracker.java
@@ -21,7 +21,7 @@ package org.apache.james.container.spring.osgi;
 import java.net.URL;
 import java.util.Enumeration;
 
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
 import org.apache.james.container.spring.lifecycle.ConfigurationProvider;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
diff --git a/server/data/data-file/src/main/java/org/apache/james/domainlist/xml/XMLDomainList.java b/server/data/data-file/src/main/java/org/apache/james/domainlist/xml/XMLDomainList.java
index 7c36e16..27353c0 100644
--- a/server/data/data-file/src/main/java/org/apache/james/domainlist/xml/XMLDomainList.java
+++ b/server/data/data-file/src/main/java/org/apache/james/domainlist/xml/XMLDomainList.java
@@ -25,7 +25,7 @@ import java.util.List;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.Domain;
 import org.apache.james.dnsservice.api.DNSService;
 import org.apache.james.domainlist.api.DomainListException;
diff --git a/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/FileMailRepository.java b/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/FileMailRepository.java
index 1f6b1d1..cb5c6b0 100644
--- a/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/FileMailRepository.java
+++ b/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/FileMailRepository.java
@@ -33,8 +33,8 @@ import javax.inject.Inject;
 import javax.mail.MessagingException;
 import javax.mail.internet.MimeMessage;
 
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
 import org.apache.james.filesystem.api.FileSystem;
 import org.apache.james.mailrepository.api.MailKey;
 import org.apache.james.mailrepository.lib.AbstractMailRepository;
@@ -81,7 +81,7 @@ public class FileMailRepository extends AbstractMailRepository {
     }
 
     @Override
-    protected void doConfigure(HierarchicalConfiguration config) throws org.apache.commons.configuration.ConfigurationException {
+    protected void doConfigure(HierarchicalConfiguration config) throws org.apache.commons.configuration2.ex.ConfigurationException {
         super.doConfigure(config);
         destination = config.getString("[@destinationURL]");
         LOGGER.debug("FileMailRepository.destinationURL: {}", destination);
@@ -94,7 +94,7 @@ public class FileMailRepository extends AbstractMailRepository {
     @PostConstruct
     public void init() throws Exception {
         try {
-            DefaultConfigurationBuilder reposConfiguration = new DefaultConfigurationBuilder();
+            BaseHierarchicalConfiguration reposConfiguration = new BaseHierarchicalConfiguration();
 
             reposConfiguration.addProperty("[@destinationURL]", destination);
             objectRepository = new FilePersistentObjectRepository();
diff --git a/server/data/data-file/src/main/java/org/apache/james/rrt/file/XMLRecipientRewriteTable.java b/server/data/data-file/src/main/java/org/apache/james/rrt/file/XMLRecipientRewriteTable.java
index 700aa5c..9bb7ab5 100644
--- a/server/data/data-file/src/main/java/org/apache/james/rrt/file/XMLRecipientRewriteTable.java
+++ b/server/data/data-file/src/main/java/org/apache/james/rrt/file/XMLRecipientRewriteTable.java
@@ -22,8 +22,8 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.Optional;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.Domain;
 import org.apache.james.rrt.api.RecipientRewriteTableException;
 import org.apache.james.rrt.lib.AbstractRecipientRewriteTable;
diff --git a/server/data/data-file/src/main/java/org/apache/james/user/file/UsersFileRepository.java b/server/data/data-file/src/main/java/org/apache/james/user/file/UsersFileRepository.java
index 9699618..4e00d3c 100644
--- a/server/data/data-file/src/main/java/org/apache/james/user/file/UsersFileRepository.java
+++ b/server/data/data-file/src/main/java/org/apache/james/user/file/UsersFileRepository.java
@@ -25,9 +25,9 @@ import javax.annotation.PostConstruct;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.filesystem.api.FileSystem;
 import org.apache.james.repository.file.FilePersistentObjectRepository;
 import org.apache.james.user.api.UsersRepositoryException;
@@ -88,7 +88,7 @@ public class UsersFileRepository extends AbstractJamesUsersRepository {
         try {
             // TODO Check how to remove this!
             // prepare Configurations for object and stream repositories
-            final DefaultConfigurationBuilder objectConfiguration = new DefaultConfigurationBuilder();
+            HierarchicalConfiguration objectConfiguration = new BaseHierarchicalConfiguration();
 
             objectConfiguration.addProperty("[@destinationURL]", destination);
 
diff --git a/server/data/data-jdbc/src/main/java/org/apache/james/rrt/jdbc/JDBCRecipientRewriteTable.java b/server/data/data-jdbc/src/main/java/org/apache/james/rrt/jdbc/JDBCRecipientRewriteTable.java
index 4a65269..10987db 100644
--- a/server/data/data-jdbc/src/main/java/org/apache/james/rrt/jdbc/JDBCRecipientRewriteTable.java
+++ b/server/data/data-jdbc/src/main/java/org/apache/james/rrt/jdbc/JDBCRecipientRewriteTable.java
@@ -33,8 +33,8 @@ import javax.annotation.PostConstruct;
 import javax.inject.Inject;
 import javax.sql.DataSource;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.Domain;
 import org.apache.james.filesystem.api.FileSystem;
 import org.apache.james.rrt.api.RecipientRewriteTableException;
diff --git a/server/data/data-jdbc/src/main/java/org/apache/james/user/jdbc/AbstractJdbcUsersRepository.java b/server/data/data-jdbc/src/main/java/org/apache/james/user/jdbc/AbstractJdbcUsersRepository.java
index 8b31ba2..a01518e 100644
--- a/server/data/data-jdbc/src/main/java/org/apache/james/user/jdbc/AbstractJdbcUsersRepository.java
+++ b/server/data/data-jdbc/src/main/java/org/apache/james/user/jdbc/AbstractJdbcUsersRepository.java
@@ -37,8 +37,8 @@ import javax.annotation.PostConstruct;
 import javax.inject.Inject;
 import javax.sql.DataSource;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.filesystem.api.FileSystem;
 import org.apache.james.user.api.UsersRepositoryException;
 import org.apache.james.user.api.model.User;
diff --git a/server/data/data-jpa/src/main/java/org/apache/james/sieve/jpa/model/JPASieveScript.java b/server/data/data-jpa/src/main/java/org/apache/james/sieve/jpa/model/JPASieveScript.java
index 3f846ec..1aadf46 100644
--- a/server/data/data-jpa/src/main/java/org/apache/james/sieve/jpa/model/JPASieveScript.java
+++ b/server/data/data-jpa/src/main/java/org/apache/james/sieve/jpa/model/JPASieveScript.java
@@ -30,7 +30,7 @@ import javax.persistence.NamedQueries;
 import javax.persistence.NamedQuery;
 import javax.persistence.Table;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.james.sieverepository.api.ScriptContent;
 import org.apache.james.sieverepository.api.ScriptName;
 import org.apache.james.sieverepository.api.ScriptSummary;
diff --git a/server/data/data-jpa/src/main/java/org/apache/james/user/jpa/JPAUsersRepository.java b/server/data/data-jpa/src/main/java/org/apache/james/user/jpa/JPAUsersRepository.java
index cfe981c..aa3c42b 100644
--- a/server/data/data-jpa/src/main/java/org/apache/james/user/jpa/JPAUsersRepository.java
+++ b/server/data/data-jpa/src/main/java/org/apache/james/user/jpa/JPAUsersRepository.java
@@ -31,8 +31,8 @@ import javax.persistence.NoResultException;
 import javax.persistence.PersistenceException;
 import javax.persistence.PersistenceUnit;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.user.api.UsersRepositoryException;
 import org.apache.james.user.api.model.User;
 import org.apache.james.user.jpa.model.JPAUser;
diff --git a/server/data/data-jpa/src/test/java/org/apache/james/rrt/jpa/JPARecipientRewriteTableTest.java b/server/data/data-jpa/src/test/java/org/apache/james/rrt/jpa/JPARecipientRewriteTableTest.java
index 95cd2fb..80f02fa 100644
--- a/server/data/data-jpa/src/test/java/org/apache/james/rrt/jpa/JPARecipientRewriteTableTest.java
+++ b/server/data/data-jpa/src/test/java/org/apache/james/rrt/jpa/JPARecipientRewriteTableTest.java
@@ -18,7 +18,7 @@
  ****************************************************************/
 package org.apache.james.rrt.jpa;
 
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.james.backends.jpa.JpaTestCluster;
 import org.apache.james.rrt.jpa.model.JPARecipientRewrite;
 import org.apache.james.rrt.lib.AbstractRecipientRewriteTable;
@@ -46,7 +46,7 @@ public class JPARecipientRewriteTableTest extends AbstractRecipientRewriteTableT
     protected AbstractRecipientRewriteTable getRecipientRewriteTable() throws Exception {
         JPARecipientRewriteTable localVirtualUserTable = new JPARecipientRewriteTable();
         localVirtualUserTable.setEntityManagerFactory(JPA_TEST_CLUSTER.getEntityManagerFactory());
-        DefaultConfigurationBuilder defaultConfiguration = new DefaultConfigurationBuilder();
+        BaseHierarchicalConfiguration defaultConfiguration = new BaseHierarchicalConfiguration();
         localVirtualUserTable.configure(defaultConfiguration);
         return localVirtualUserTable;
     }
diff --git a/server/data/data-jpa/src/test/java/org/apache/james/rrt/jpa/JPAStepdefs.java b/server/data/data-jpa/src/test/java/org/apache/james/rrt/jpa/JPAStepdefs.java
index 70f6c82..4b27b75 100644
--- a/server/data/data-jpa/src/test/java/org/apache/james/rrt/jpa/JPAStepdefs.java
+++ b/server/data/data-jpa/src/test/java/org/apache/james/rrt/jpa/JPAStepdefs.java
@@ -18,7 +18,7 @@
  ****************************************************************/
 package org.apache.james.rrt.jpa;
 
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.james.backends.jpa.JpaTestCluster;
 import org.apache.james.rrt.jpa.model.JPARecipientRewrite;
 import org.apache.james.rrt.lib.AbstractRecipientRewriteTable;
@@ -51,7 +51,7 @@ public class JPAStepdefs {
     private AbstractRecipientRewriteTable getRecipientRewriteTable() throws Exception {
         JPARecipientRewriteTable localVirtualUserTable = new JPARecipientRewriteTable();
         localVirtualUserTable.setEntityManagerFactory(JPA_TEST_CLUSTER.getEntityManagerFactory());
-        DefaultConfigurationBuilder defaultConfiguration = new DefaultConfigurationBuilder();
+        BaseHierarchicalConfiguration defaultConfiguration = new BaseHierarchicalConfiguration();
         localVirtualUserTable.configure(defaultConfiguration);
         localVirtualUserTable.setDomainList(RecipientRewriteTableFixture.domainListForCucumberTests());
         return localVirtualUserTable;
diff --git a/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/LdapRepositoryConfiguration.java b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/LdapRepositoryConfiguration.java
index 9546ec4..092411b 100644
--- a/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/LdapRepositoryConfiguration.java
+++ b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/LdapRepositoryConfiguration.java
@@ -22,8 +22,8 @@ package org.apache.james.user.ldap;
 import java.util.Objects;
 import java.util.Optional;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 
 import com.google.common.base.Preconditions;
 
diff --git a/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyLDAPGroupRestriction.java b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyLDAPGroupRestriction.java
index 4548e7e..5a84b7e 100644
--- a/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyLDAPGroupRestriction.java
+++ b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyLDAPGroupRestriction.java
@@ -31,7 +31,7 @@ import javax.naming.directory.Attribute;
 import javax.naming.directory.Attributes;
 import javax.naming.ldap.LdapContext;
 
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
 
 /**
  * <p>
@@ -67,7 +67,7 @@ public class ReadOnlyLDAPGroupRestriction {
      *
      * @param configuration The avalon configuration instance that encapsulates the
      *                      contents of the <code>&lt;restriction&gt;<code> XML element.
-     * @throws org.apache.commons.configuration.ConfigurationException
+     * @throws org.apache.commons.configuration2.ex.ConfigurationException
      *          If an error occurs extracting values from the configuration
      *          element.
      */
diff --git a/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyUsersLDAPRepository.java b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyUsersLDAPRepository.java
index 61c264a..6de2851 100644
--- a/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyUsersLDAPRepository.java
+++ b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyUsersLDAPRepository.java
@@ -41,9 +41,9 @@ import javax.naming.directory.SearchResult;
 import javax.naming.ldap.InitialLdapContext;
 import javax.naming.ldap.LdapContext;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.directory.api.ldap.model.filter.FilterEncoder;
 import org.apache.james.core.MailAddress;
 import org.apache.james.domainlist.api.DomainList;
diff --git a/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/AbstractDomainList.java b/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/AbstractDomainList.java
index 6c67045..3db1408 100644
--- a/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/AbstractDomainList.java
+++ b/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/AbstractDomainList.java
@@ -24,8 +24,8 @@ import java.net.UnknownHostException;
 import java.util.List;
 import java.util.stream.Stream;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.Domain;
 import org.apache.james.dnsservice.api.DNSService;
 import org.apache.james.domainlist.api.DomainList;
diff --git a/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/DomainListConfiguration.java b/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/DomainListConfiguration.java
index 5930fbe..9aa38d9 100644
--- a/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/DomainListConfiguration.java
+++ b/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/DomainListConfiguration.java
@@ -25,7 +25,7 @@ import java.util.List;
 import java.util.Objects;
 import java.util.Optional;
 
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
 import org.apache.james.core.Domain;
 import org.apache.james.util.StreamUtils;
 
diff --git a/server/data/data-library/src/main/java/org/apache/james/mailrepository/lib/AbstractMailRepository.java b/server/data/data-library/src/main/java/org/apache/james/mailrepository/lib/AbstractMailRepository.java
index 4e988e5..9c6b3a3 100644
--- a/server/data/data-library/src/main/java/org/apache/james/mailrepository/lib/AbstractMailRepository.java
+++ b/server/data/data-library/src/main/java/org/apache/james/mailrepository/lib/AbstractMailRepository.java
@@ -24,8 +24,8 @@ import java.util.Collection;
 
 import javax.mail.MessagingException;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.lifecycle.api.Configurable;
 import org.apache.james.mailrepository.api.MailKey;
 import org.apache.james.mailrepository.api.MailRepository;
diff --git a/server/data/data-library/src/main/java/org/apache/james/repository/file/AbstractFileRepository.java b/server/data/data-library/src/main/java/org/apache/james/repository/file/AbstractFileRepository.java
index 93c6557..ae3c68b 100644
--- a/server/data/data-library/src/main/java/org/apache/james/repository/file/AbstractFileRepository.java
+++ b/server/data/data-library/src/main/java/org/apache/james/repository/file/AbstractFileRepository.java
@@ -33,8 +33,8 @@ import java.util.Iterator;
 import javax.annotation.PostConstruct;
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.commons.io.FileUtils;
 import org.apache.james.filesystem.api.FileSystem;
 import org.apache.james.lifecycle.api.Configurable;
diff --git a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java
index e8b07e5..0a8df04 100644
--- a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java
+++ b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java
@@ -28,8 +28,8 @@ import java.util.stream.Stream;
 import javax.inject.Inject;
 import javax.mail.internet.AddressException;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.Domain;
 import org.apache.james.core.User;
 import org.apache.james.domainlist.api.DomainList;
diff --git a/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractJamesUsersRepository.java b/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractJamesUsersRepository.java
index daf8ec0..c376e8f 100644
--- a/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractJamesUsersRepository.java
+++ b/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractJamesUsersRepository.java
@@ -23,8 +23,8 @@ import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.Domain;
 import org.apache.james.rrt.api.RecipientRewriteTable;
 import org.apache.james.rrt.api.RecipientRewriteTableException;
diff --git a/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractUsersRepository.java b/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractUsersRepository.java
index dad5f8d..2057af5 100644
--- a/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractUsersRepository.java
+++ b/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractUsersRepository.java
@@ -23,8 +23,8 @@ import java.util.Optional;
 
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.Domain;
 import org.apache.james.core.MailAddress;
 import org.apache.james.core.User;
diff --git a/server/data/data-memory/src/main/java/org/apache/james/mailrepository/memory/MemoryMailRepositoryStore.java b/server/data/data-memory/src/main/java/org/apache/james/mailrepository/memory/MemoryMailRepositoryStore.java
index 80c77e8..9286054 100644
--- a/server/data/data-memory/src/main/java/org/apache/james/mailrepository/memory/MemoryMailRepositoryStore.java
+++ b/server/data/data-memory/src/main/java/org/apache/james/mailrepository/memory/MemoryMailRepositoryStore.java
@@ -29,10 +29,9 @@ import java.util.stream.Stream;
 
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.CombinedConfiguration;
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.CombinedConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.lifecycle.api.Configurable;
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.mailrepository.api.MailRepository;
@@ -129,9 +128,7 @@ public class MemoryMailRepositoryStore implements MailRepositoryStore, Startable
         Optional.ofNullable(perProtocolMailRepositoryDefaultConfiguration.get(mailRepositoryUrl.getProtocol()))
             .ifPresent(config::addConfiguration);
 
-        DefaultConfigurationBuilder builder = new DefaultConfigurationBuilder();
-        builder.addProperty("[@destinationURL]", mailRepositoryUrl.asString());
-        config.addConfiguration(builder);
+        config.setProperty("[@destinationURL]", mailRepositoryUrl.asString());
         return config;
     }
 
diff --git a/server/data/data-memory/src/main/java/org/apache/james/user/memory/MemoryUsersRepository.java b/server/data/data-memory/src/main/java/org/apache/james/user/memory/MemoryUsersRepository.java
index 500ee78..b6b2796 100644
--- a/server/data/data-memory/src/main/java/org/apache/james/user/memory/MemoryUsersRepository.java
+++ b/server/data/data-memory/src/main/java/org/apache/james/user/memory/MemoryUsersRepository.java
@@ -25,8 +25,8 @@ import java.util.Locale;
 import java.util.Map;
 import java.util.Optional;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.user.api.UsersRepositoryException;
 import org.apache.james.user.api.model.User;
 import org.apache.james.user.lib.AbstractUsersRepository;
diff --git a/server/dns-service/dnsservice-dnsjava/src/main/java/org/apache/james/dnsservice/dnsjava/DNSJavaService.java b/server/dns-service/dnsservice-dnsjava/src/main/java/org/apache/james/dnsservice/dnsjava/DNSJavaService.java
index efef1f3..2793fe3 100644
--- a/server/dns-service/dnsservice-dnsjava/src/main/java/org/apache/james/dnsservice/dnsjava/DNSJavaService.java
+++ b/server/dns-service/dnsservice-dnsjava/src/main/java/org/apache/james/dnsservice/dnsjava/DNSJavaService.java
@@ -30,8 +30,8 @@ import java.util.List;
 import javax.annotation.PostConstruct;
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.dnsservice.api.DNSService;
 import org.apache.james.dnsservice.api.DNSServiceMBean;
 import org.apache.james.dnsservice.api.TemporaryResolutionException;
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryJamesServer.java b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryJamesServer.java
index 796f7b8..636ae33 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryJamesServer.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryJamesServer.java
@@ -33,7 +33,7 @@ import java.util.Optional;
 
 import org.apache.activemq.store.PersistenceAdapter;
 import org.apache.activemq.store.memory.MemoryPersistenceAdapter;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.commons.io.IOUtils;
 import org.apache.james.GuiceJamesServer;
 import org.apache.james.MemoryJamesServerMain;
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
index 37171a3..9b2d849 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
@@ -26,7 +26,7 @@ import javax.annotation.PostConstruct;
 import javax.annotation.PreDestroy;
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
 import org.apache.james.lifecycle.api.Configurable;
 import org.apache.james.lifecycle.api.Disposable;
 import org.apache.james.lifecycle.api.LifecycleUtil;
@@ -43,6 +43,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import com.github.fge.lambdas.Throwing;
+
 import reactor.core.publisher.Flux;
 import reactor.core.publisher.Mono;
 import reactor.core.scheduler.Scheduler;
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java
index ea8a0bf..3d4a62b 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java
@@ -39,8 +39,8 @@ import javax.mail.internet.InternetAddress;
 import javax.mail.internet.MimeMessage;
 import javax.mail.internet.ParseException;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.Domain;
 import org.apache.james.core.MailAddress;
 import org.apache.james.dnsservice.api.DNSService;
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/CamelCompositeProcessor.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/CamelCompositeProcessor.java
index 06e34cd..d3420ef 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/CamelCompositeProcessor.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/CamelCompositeProcessor.java
@@ -25,7 +25,7 @@ import javax.inject.Inject;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.CamelContextAware;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
 import org.apache.james.mailetcontainer.api.MailProcessor;
 import org.apache.james.mailetcontainer.api.MailetLoader;
 import org.apache.james.mailetcontainer.api.MatcherLoader;
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateCompositeProcessor.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateCompositeProcessor.java
index 0985721..bfba9c6 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateCompositeProcessor.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateCompositeProcessor.java
@@ -29,8 +29,8 @@ import javax.annotation.PostConstruct;
 import javax.annotation.PreDestroy;
 import javax.mail.MessagingException;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.lifecycle.api.Configurable;
 import org.apache.james.lifecycle.api.LifecycleUtil;
 import org.apache.james.mailetcontainer.api.MailProcessor;
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateMailetProcessor.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateMailetProcessor.java
index 99f3b1b..88a8f08 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateMailetProcessor.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateMailetProcessor.java
@@ -31,8 +31,8 @@ import javax.inject.Inject;
 import javax.mail.MessagingException;
 import javax.management.NotCompliantMBeanException;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.MailAddress;
 import org.apache.james.lifecycle.api.Configurable;
 import org.apache.james.mailetcontainer.api.MailProcessor;
diff --git a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailSpoolerTest.java b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailSpoolerTest.java
index c26c001..db43fcc 100644
--- a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailSpoolerTest.java
+++ b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailSpoolerTest.java
@@ -34,7 +34,7 @@ import java.util.function.Consumer;
 
 import javax.mail.MessagingException;
 
-import org.apache.commons.configuration.plist.PropertyListConfiguration;
+import org.apache.commons.configuration2.plist.PropertyListConfiguration;
 import org.apache.james.mailetcontainer.api.MailProcessor;
 import org.apache.james.metrics.api.MetricFactory;
 import org.apache.james.metrics.api.TimeMetric;
diff --git a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java
index c08ee1f..f249bd6 100644
--- a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java
+++ b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java
@@ -30,7 +30,7 @@ import java.util.concurrent.TimeUnit;
 
 import javax.mail.internet.MimeMessage;
 
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.james.core.Domain;
 import org.apache.james.core.MailAddress;
 import org.apache.james.core.builder.MimeMessageBuilder;
@@ -85,7 +85,7 @@ public class JamesMailetContextTest {
         when(mailQueueFactory.createQueue(MailQueueFactory.SPOOL)).thenReturn(spoolMailQueue);
         DNSService dnsService = null;
         testee = new JamesMailetContext(dnsService, usersRepository, domainList, mailQueueFactory);
-        testee.configure(new HierarchicalConfiguration());
+        testee.configure(new BaseHierarchicalConfiguration());
         mailAddress = new MailAddress(USERMAIL);
     }
 
diff --git a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/camel/CamelCompositeProcessorTest.java b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/camel/CamelCompositeProcessorTest.java
index 7dd9a6a..3495819 100644
--- a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/camel/CamelCompositeProcessorTest.java
+++ b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/camel/CamelCompositeProcessorTest.java
@@ -19,7 +19,7 @@
 package org.apache.james.mailetcontainer.impl.camel;
 
 import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
 import org.apache.james.mailetcontainer.api.mock.MockMailetLoader;
 import org.apache.james.mailetcontainer.api.mock.MockMatcherLoader;
 import org.apache.james.mailetcontainer.lib.AbstractStateCompositeProcessor;
diff --git a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/camel/CamelMailetProcessorTest.java b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/camel/CamelMailetProcessorTest.java
index 87adc34..f45f16c 100644
--- a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/camel/CamelMailetProcessorTest.java
+++ b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/camel/CamelMailetProcessorTest.java
@@ -22,7 +22,7 @@ package org.apache.james.mailetcontainer.impl.camel;
 import static org.mockito.Mockito.mock;
 
 import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
 import org.apache.james.mailetcontainer.api.MailProcessor;
 import org.apache.james.mailetcontainer.api.mock.MockMailetLoader;
 import org.apache.james.mailetcontainer.api.mock.MockMatcherLoader;
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryTest.java
index eedd443..5690778 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/remote/delivery/RemoteDeliveryTest.java
@@ -29,7 +29,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Objects;
 
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.MailAddress;
 import org.apache.james.dnsservice.api.DNSService;
 import org.apache.james.domainlist.lib.DomainListConfiguration;
diff --git a/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/Account.java b/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/Account.java
index 8d015c4..61cf0da 100644
--- a/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/Account.java
+++ b/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/Account.java
@@ -25,7 +25,7 @@ import java.util.List;
 import javax.mail.Session;
 import javax.mail.internet.ParseException;
 
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.MailAddress;
 
 /**
diff --git a/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/DynamicAccount.java b/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/DynamicAccount.java
index ba12b61..2902821 100755
--- a/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/DynamicAccount.java
+++ b/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/DynamicAccount.java
@@ -21,7 +21,7 @@ package org.apache.james.fetchmail;
 
 import javax.mail.Session;
 
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 
 public class DynamicAccount extends Account {
 
diff --git a/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchMail.java b/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchMail.java
index 82d8dd7..4b1bb38 100644
--- a/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchMail.java
+++ b/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchMail.java
@@ -31,10 +31,10 @@ import java.util.Properties;
 import javax.mail.MessagingException;
 import javax.mail.Session;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
-import org.apache.commons.configuration.tree.ConfigurationNode;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
+import org.apache.commons.configuration2.tree.ImmutableNode;
 import org.apache.james.dnsservice.api.DNSService;
 import org.apache.james.domainlist.api.DomainList;
 import org.apache.james.lifecycle.api.Configurable;
@@ -410,14 +410,14 @@ public class FetchMail implements Runnable, Configurable {
         setParsedConfiguration(parsedConfiguration);
 
         // Setup the Accounts
-        List<HierarchicalConfiguration> allAccounts = configuration.configurationsAt("accounts");
+        List<HierarchicalConfiguration<ImmutableNode>> allAccounts = configuration.configurationsAt("accounts");
         if (allAccounts.size() < 1) {
             throw new ConfigurationException("Missing <accounts> section.");
         }
         if (allAccounts.size() > 1) {
             throw new ConfigurationException("Too many <accounts> sections, there must be exactly one");
         }
-        HierarchicalConfiguration accounts = allAccounts.get(0);
+        HierarchicalConfiguration<ImmutableNode> accounts = allAccounts.get(0);
 
         if (!accounts.getKeys().hasNext()) {
             throw new ConfigurationException("Missing <account> section.");
@@ -425,11 +425,11 @@ public class FetchMail implements Runnable, Configurable {
 
         int i = 0;
         // Create an Account for every configured account
-        for (ConfigurationNode accountsChild : accounts.getRoot().getChildren()) {
+        for (ImmutableNode accountsChild : accounts.getNodeModel().getNodeHandler().getRootNode().getChildren()) {
 
-            String accountsChildName = accountsChild.getName();
+            String accountsChildName = accountsChild.getNodeName();
 
-            List<HierarchicalConfiguration> accountsChildConfig = accounts.configurationsAt(accountsChildName);
+            List<HierarchicalConfiguration<ImmutableNode>> accountsChildConfig = accounts.configurationsAt(accountsChildName);
             HierarchicalConfiguration conf = accountsChildConfig.get(i);
 
             if ("alllocal".equals(accountsChildName)) {
diff --git a/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchScheduler.java b/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchScheduler.java
index d571b9d..0cae411 100644
--- a/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchScheduler.java
+++ b/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchScheduler.java
@@ -29,8 +29,8 @@ import javax.annotation.PostConstruct;
 import javax.annotation.PreDestroy;
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.dnsservice.api.DNSService;
 import org.apache.james.domainlist.api.DomainList;
 import org.apache.james.lifecycle.api.Configurable;
diff --git a/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/ParsedConfiguration.java b/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/ParsedConfiguration.java
index bd42f7b..e047b2c 100644
--- a/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/ParsedConfiguration.java
+++ b/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/ParsedConfiguration.java
@@ -26,8 +26,8 @@ import java.util.StringTokenizer;
 
 import javax.mail.internet.ParseException;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.Domain;
 import org.apache.james.core.MailAddress;
 import org.apache.james.dnsservice.api.DNSService;
diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SpamAssassinModule.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SpamAssassinModule.java
index 47434e8..26716bb 100644
--- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SpamAssassinModule.java
+++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SpamAssassinModule.java
@@ -22,7 +22,7 @@ import java.util.Optional;
 
 import javax.inject.Singleton;
 
-import org.apache.commons.configuration.BaseConfiguration;
+import org.apache.commons.configuration2.BaseConfiguration;
 import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.mailbox.SystemMailboxesProvider;
 import org.apache.james.mailbox.events.MailboxListener;
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/JmapFieldNotSupportedException.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/JmapFieldNotSupportedException.java
index ed35fa8..17c730a 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/JmapFieldNotSupportedException.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/JmapFieldNotSupportedException.java
@@ -19,14 +19,14 @@
 
 package org.apache.james.jmap;
 
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
 
 public class JmapFieldNotSupportedException extends NotImplementedException {
     private final String issuer;
     private final String field;
 
     public JmapFieldNotSupportedException(String issuer, String field) {
-        super();
+        super("not implemented");
         this.issuer = issuer;
         this.field = field;
     }
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/GetMailboxesResponse.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/GetMailboxesResponse.java
index 18e1b90..2d474e4 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/GetMailboxesResponse.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/GetMailboxesResponse.java
@@ -21,7 +21,7 @@ package org.apache.james.jmap.model;
 import java.util.List;
 import java.util.Optional;
 
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
 import org.apache.james.jmap.methods.Method;
 import org.apache.james.jmap.model.mailbox.Mailbox;
 
@@ -47,14 +47,14 @@ public class GetMailboxesResponse implements Method.Response {
 
         public Builder accountId(String accountId) {
             if (accountId != null) {
-                throw new NotImplementedException();
+                throw new NotImplementedException("not implemented");
             }
             return this;
         }
 
         public Builder state(String state) {
             if (state != null) {
-                throw new NotImplementedException();
+                throw new NotImplementedException("not implemented");
             }
             return this;
         }
@@ -71,7 +71,7 @@ public class GetMailboxesResponse implements Method.Response {
         
         public Builder notFound(String[] notFound) {
             if (notFound != null) {
-                throw new NotImplementedException();
+                throw new NotImplementedException("not implemented");
             }
             return this;
         }
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/GetMessageListRequest.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/GetMessageListRequest.java
index 66710ca..c6d3765 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/GetMessageListRequest.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/GetMessageListRequest.java
@@ -22,7 +22,7 @@ package org.apache.james.jmap.model;
 import java.util.List;
 import java.util.Optional;
 
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
 import org.apache.james.jmap.methods.JmapRequest;
 
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
@@ -59,7 +59,7 @@ public class GetMessageListRequest implements JmapRequest {
         }
 
         public Builder accountId(String accountId) {
-            throw new NotImplementedException();
+            throw new NotImplementedException("not implemented");
         }
 
         public Builder filter(Filter filter) {
@@ -85,11 +85,11 @@ public class GetMessageListRequest implements JmapRequest {
         }
 
         public Builder anchor(String anchor) {
-            throw new NotImplementedException();
+            throw new NotImplementedException("not implemented");
         }
 
         public Builder anchorOffset(int anchorOffset) {
-            throw new NotImplementedException();
+            throw new NotImplementedException("not implemented");
         }
 
         public Builder limit(long limit) {
@@ -99,7 +99,7 @@ public class GetMessageListRequest implements JmapRequest {
         }
 
         public Builder fetchThreads(boolean fetchThreads) {
-            throw new NotImplementedException();
+            throw new NotImplementedException("not implemented");
         }
 
         public Builder fetchMessages(boolean fetchMessages) {
@@ -113,7 +113,7 @@ public class GetMessageListRequest implements JmapRequest {
         }
 
         public Builder fetchSearchSnippets(boolean fetchSearchSnippets) {
-            throw new NotImplementedException();
+            throw new NotImplementedException("not implemented");
         }
 
         public GetMessageListRequest build() {
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/GetMessageListResponse.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/GetMessageListResponse.java
index 490892f..3c303d0 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/GetMessageListResponse.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/GetMessageListResponse.java
@@ -22,7 +22,7 @@ package org.apache.james.jmap.model;
 import java.util.List;
 import java.util.Optional;
 
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
 import org.apache.james.jmap.methods.Method;
 import org.apache.james.mailbox.model.MessageId;
 
@@ -57,7 +57,7 @@ public class GetMessageListResponse implements Method.Response {
         }
 
         public Builder accountId(String accountId) {
-            throw new NotImplementedException();
+            throw new NotImplementedException("not implemented");
         }
 
         public Builder filter(Filter filter) {
@@ -71,27 +71,27 @@ public class GetMessageListResponse implements Method.Response {
         }
 
         public Builder collapseThreads(boolean collapseThreads) {
-            throw new NotImplementedException();
+            throw new NotImplementedException("not implemented");
         }
 
         public Builder state(String state) {
-            throw new NotImplementedException();
+            throw new NotImplementedException("not implemented");
         }
 
         public Builder canCalculateUpdates(boolean canCalculateUpdates) {
-            throw new NotImplementedException();
+            throw new NotImplementedException("not implemented");
         }
 
         public Builder position(int position) {
-            throw new NotImplementedException();
+            throw new NotImplementedException("not implemented");
         }
 
         public Builder total(int total) {
-            throw new NotImplementedException();
+            throw new NotImplementedException("not implemented");
         }
 
         public Builder threadIds(List<String> threadIds) {
-            throw new NotImplementedException();
+            throw new NotImplementedException("not implemented");
         }
 
         public Builder messageId(MessageId messageId) {
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/Keyword.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/Keyword.java
index 40b46d2..cb5ca0b 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/Keyword.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/Keyword.java
@@ -23,7 +23,7 @@ import java.util.Optional;
 
 import javax.mail.Flags;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.james.util.UnicodeSetUtils;
 
 import com.google.common.base.MoreObjects;
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/SetMailboxesRequest.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/SetMailboxesRequest.java
index 7d6552a..cdc9d42 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/SetMailboxesRequest.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/SetMailboxesRequest.java
@@ -22,7 +22,7 @@ package org.apache.james.jmap.model;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
 import org.apache.james.jmap.methods.JmapRequest;
 import org.apache.james.jmap.model.mailbox.MailboxCreateRequest;
 import org.apache.james.jmap.model.mailbox.MailboxUpdateRequest;
@@ -65,11 +65,11 @@ public class SetMailboxesRequest implements JmapRequest {
         }
         
         public Builder accountId(String accountId) {
-            throw new NotImplementedException();
+            throw new NotImplementedException("not implemented");
         }
         
         public Builder ifInState(String state) {
-            throw new NotImplementedException();
+            throw new NotImplementedException("not implemented");
         }
         
         public Builder update(MailboxId mailboxId, MailboxUpdateRequest mailboxUpdateRequest) {
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/SetMessagesResponse.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/SetMessagesResponse.java
index f2abe98..f5c7fcc 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/SetMessagesResponse.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/SetMessagesResponse.java
@@ -21,7 +21,7 @@ package org.apache.james.jmap.model;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
 import org.apache.james.jmap.methods.Method;
 import org.apache.james.mailbox.model.MessageId;
 
@@ -71,15 +71,15 @@ public class SetMessagesResponse implements Method.Response {
         }
 
         public Builder accountId(String accountId) {
-            throw new NotImplementedException();
+            throw new NotImplementedException("not implemented");
         }
 
         public Builder oldState(String oldState) {
-            throw new NotImplementedException();
+            throw new NotImplementedException("not implemented");
         }
 
         public Builder newState(String newState) {
-            throw new NotImplementedException();
+            throw new NotImplementedException("not implemented");
         }
 
         public Builder created(CreationMessageId creationMessageId, Message message) {
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/mailbox/MailboxNamespace.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/mailbox/MailboxNamespace.java
index 75d4133..d160509 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/mailbox/MailboxNamespace.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/mailbox/MailboxNamespace.java
@@ -22,7 +22,7 @@ package org.apache.james.jmap.model.mailbox;
 import java.util.Objects;
 import java.util.Optional;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.google.common.base.MoreObjects;
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/mailbox/MailboxUpdateRequest.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/mailbox/MailboxUpdateRequest.java
index b5a042a..3719c0c 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/mailbox/MailboxUpdateRequest.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/mailbox/MailboxUpdateRequest.java
@@ -22,7 +22,7 @@ package org.apache.james.jmap.model.mailbox;
 import java.util.Objects;
 import java.util.Optional;
 
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
 import org.apache.james.mailbox.Role;
 import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.model.MailboxId;
@@ -75,12 +75,12 @@ public class MailboxUpdateRequest {
 
         public Builder role(Role role) {
             Preconditions.checkNotNull(role);
-            throw new NotImplementedException();
+            throw new NotImplementedException("not implemented");
         }
 
         public Builder sortOrder(SortOrder sortOrder) {
             Preconditions.checkNotNull(sortOrder);
-            throw new NotImplementedException();
+            throw new NotImplementedException("not implemented");
         }
 
         public Builder sharedWith(Rights rights) {
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/utils/JsoupHtmlTextExtractor.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/utils/JsoupHtmlTextExtractor.java
index 4381086..e7bad76 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/utils/JsoupHtmlTextExtractor.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/utils/JsoupHtmlTextExtractor.java
@@ -22,7 +22,7 @@ package org.apache.james.jmap.utils;
 import java.util.Optional;
 import java.util.stream.Stream;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.jsoup.Jsoup;
 import org.jsoup.nodes.Document;
 import org.jsoup.nodes.Element;
diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.java
index dd85d71..9f384d6 100644
--- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.java
+++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/GetMessagesMethodTest.java
@@ -34,7 +34,7 @@ import java.util.stream.Collectors;
 import javax.mail.Flags;
 import javax.mail.Flags.Flag;
 
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
 import org.apache.james.core.User;
 import org.apache.james.jmap.model.ClientId;
 import org.apache.james.jmap.model.GetMessagesRequest;
diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/GetMailboxMessageListResponseTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/GetMailboxMessageListResponseTest.java
index 14a9dbe..4926296 100644
--- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/GetMailboxMessageListResponseTest.java
+++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/GetMailboxMessageListResponseTest.java
@@ -24,7 +24,7 @@ import static org.assertj.core.api.Assertions.assertThat;
 import java.util.List;
 import java.util.Optional;
 
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
 import org.apache.james.mailbox.model.MessageId;
 import org.apache.james.mailbox.model.TestMessageId;
 import org.junit.Test;
diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/GetMailboxesRequestTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/GetMailboxesRequestTest.java
index 30f00a2..2110933 100644
--- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/GetMailboxesRequestTest.java
+++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/GetMailboxesRequestTest.java
@@ -21,7 +21,7 @@ package org.apache.james.jmap.model;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
 import org.apache.james.mailbox.inmemory.InMemoryId;
 import org.junit.Test;
 
diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/GetMessageListRequestTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/GetMessageListRequestTest.java
index e79d77d..3314adc 100644
--- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/GetMessageListRequestTest.java
+++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/GetMessageListRequestTest.java
@@ -24,7 +24,7 @@ import static org.assertj.core.api.Assertions.assertThat;
 import java.util.List;
 import java.util.Optional;
 
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
 import org.junit.Test;
 
 import com.google.common.collect.ImmutableList;
diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/GetVacationRequestTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/GetVacationRequestTest.java
index c9d4293..08d65bb 100644
--- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/GetVacationRequestTest.java
+++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/GetVacationRequestTest.java
@@ -18,7 +18,7 @@
  ****************************************************************/
 package org.apache.james.jmap.model;
 
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
 import org.junit.Test;
 
 public class GetVacationRequestTest {
diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/SetMailboxesRequestTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/SetMailboxesRequestTest.java
index 4cbe24d..0638d00 100644
--- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/SetMailboxesRequestTest.java
+++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/SetMailboxesRequestTest.java
@@ -20,7 +20,7 @@ package org.apache.james.jmap.model;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
 import org.apache.james.jmap.model.mailbox.MailboxCreateRequest;
 import org.apache.james.jmap.model.mailbox.MailboxUpdateRequest;
 import org.apache.james.mailbox.exception.MailboxException;
diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/SetMessagesRequestTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/SetMessagesRequestTest.java
index eef2d18..830539d 100644
--- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/SetMessagesRequestTest.java
+++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/SetMessagesRequestTest.java
@@ -24,7 +24,7 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 import java.util.Optional;
 
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
 import org.apache.james.mailbox.model.MessageId;
 import org.apache.james.mailbox.model.TestMessageId;
 import org.junit.Test;
diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/SetMessagesResponseTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/SetMessagesResponseTest.java
index 7dce30e..cffa3ad 100644
--- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/SetMessagesResponseTest.java
+++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/SetMessagesResponseTest.java
@@ -24,7 +24,7 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 import java.time.Instant;
 
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
 import org.apache.james.mailbox.inmemory.InMemoryId;
 import org.apache.james.mailbox.model.MessageId;
 import org.apache.james.mailbox.model.TestMessageId;
diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/SetVacationRequestTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/SetVacationRequestTest.java
index 68a018e..23b22e1 100644
--- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/SetVacationRequestTest.java
+++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/SetVacationRequestTest.java
@@ -23,7 +23,7 @@ import static org.assertj.core.api.Assertions.assertThat;
 import java.util.AbstractMap;
 import java.util.Optional;
 
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
 import org.junit.Test;
 
 import com.google.common.collect.ImmutableMap;
diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/mailbox/MailboxCreateRequestTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/mailbox/MailboxCreateRequestTest.java
index ce719d9..d4fd96d 100644
--- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/mailbox/MailboxCreateRequestTest.java
+++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/model/mailbox/MailboxCreateRequestTest.java
@@ -21,7 +21,7 @@ package org.apache.james.jmap.model.mailbox;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
-import org.apache.commons.lang.NotImplementedException;
+import org.apache.commons.lang3.NotImplementedException;
 import org.apache.james.mailbox.Role;
 import org.junit.Test;
 
diff --git a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java
index b44df8d..45fe13a 100644
--- a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java
+++ b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java
@@ -24,8 +24,8 @@ import java.util.concurrent.TimeUnit;
 
 import javax.net.ssl.SSLEngine;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.imap.api.ImapConfiguration;
 import org.apache.james.imap.api.ImapConstants;
 import org.apache.james.imap.api.process.ImapProcessor;
diff --git a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServerFactory.java b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServerFactory.java
index d96a213..24de76e 100644
--- a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServerFactory.java
+++ b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServerFactory.java
@@ -23,7 +23,7 @@ import java.util.List;
 
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
 import org.apache.james.filesystem.api.FileSystem;
 import org.apache.james.imap.api.process.ImapProcessor;
 import org.apache.james.imap.decode.ImapDecoder;
diff --git a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/ProtocolHandlerChainImpl.java b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/ProtocolHandlerChainImpl.java
index 8a6e26f..2379043 100644
--- a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/ProtocolHandlerChainImpl.java
+++ b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/ProtocolHandlerChainImpl.java
@@ -22,11 +22,11 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.stream.Collectors;
 
-import org.apache.commons.configuration.CombinedConfiguration;
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.ConfigurationUtils;
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
+import org.apache.commons.configuration2.CombinedConfiguration;
+import org.apache.commons.configuration2.ConfigurationUtils;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.handler.ExtensibleHandler;
 import org.apache.james.protocols.api.handler.ProtocolHandler;
 import org.apache.james.protocols.api.handler.ProtocolHandlerChain;
@@ -52,7 +52,7 @@ public class ProtocolHandlerChainImpl implements ProtocolHandlerChain {
     }
 
     public void init() throws Exception {
-        List<org.apache.commons.configuration.HierarchicalConfiguration> children = handlerchainConfig.configurationsAt("handler");
+        List<org.apache.commons.configuration2.HierarchicalConfiguration> children = handlerchainConfig.configurationsAt("handler");
 
         // check if the coreHandlersPackage was specified in the config, if
         // not add the default
@@ -72,7 +72,7 @@ public class ProtocolHandlerChainImpl implements ProtocolHandlerChain {
         registerHandlersPackage(handlersPackage, null, children);
 
         if (handlerchainConfig.getBoolean("[@enableJmx]", true)) {
-            DefaultConfigurationBuilder builder = new DefaultConfigurationBuilder();
+            HierarchicalConfiguration builder = new BaseHierarchicalConfiguration();
             builder.addProperty("jmxName", jmxName);
             HandlersPackage jmxPackage = (HandlersPackage) loader.load(jmxHandlersPackage, addHandler(jmxHandlersPackage));
 
@@ -132,7 +132,7 @@ public class ProtocolHandlerChainImpl implements ProtocolHandlerChain {
      * @throws ConfigurationException
      */
     private HierarchicalConfiguration addHandler(String className) throws ConfigurationException {
-        HierarchicalConfiguration hConf = new DefaultConfigurationBuilder();
+        HierarchicalConfiguration hConf = new BaseHierarchicalConfiguration();
         hConf.addProperty("[@class]", className);
         return hConf;
     }
diff --git a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/handler/ProtocolHandlerLoader.java b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/handler/ProtocolHandlerLoader.java
index 8a93ff9..4e3e6ea 100644
--- a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/handler/ProtocolHandlerLoader.java
+++ b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/handler/ProtocolHandlerLoader.java
@@ -18,7 +18,7 @@
  ****************************************************************/
 package org.apache.james.protocols.lib.handler;
 
-import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration2.Configuration;
 import org.apache.james.protocols.api.handler.ProtocolHandler;
 
 /**
diff --git a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractCommandHandlerResultJMXMonitor.java b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractCommandHandlerResultJMXMonitor.java
index a6e7b54..6015f4f 100644
--- a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractCommandHandlerResultJMXMonitor.java
+++ b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractCommandHandlerResultJMXMonitor.java
@@ -23,8 +23,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.ProtocolSession;
 import org.apache.james.protocols.api.Response;
 import org.apache.james.protocols.api.handler.CommandHandler;
diff --git a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractConnectHandlerResultJMXMonitor.java b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractConnectHandlerResultJMXMonitor.java
index e989df6..bf36b36 100644
--- a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractConnectHandlerResultJMXMonitor.java
+++ b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractConnectHandlerResultJMXMonitor.java
@@ -23,8 +23,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.ProtocolSession;
 import org.apache.james.protocols.api.Response;
 import org.apache.james.protocols.api.handler.ConnectHandler;
diff --git a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractLineHandlerResultJMXMonitor.java b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractLineHandlerResultJMXMonitor.java
index 62c84e9..3aa1f17 100644
--- a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractLineHandlerResultJMXMonitor.java
+++ b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractLineHandlerResultJMXMonitor.java
@@ -23,8 +23,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.ProtocolSession;
 import org.apache.james.protocols.api.Response;
 import org.apache.james.protocols.api.handler.ExtensibleHandler;
diff --git a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java
index b5edfb2..44aea2e 100644
--- a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java
+++ b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java
@@ -36,9 +36,9 @@ import javax.management.ObjectName;
 import javax.net.ssl.KeyManagerFactory;
 import javax.net.ssl.SSLContext;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.filesystem.api.FileSystem;
 import org.apache.james.lifecycle.api.Configurable;
 import org.apache.james.protocols.api.Encryption;
diff --git a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractProtocolAsyncServer.java b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractProtocolAsyncServer.java
index 8efb516..091036a 100644
--- a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractProtocolAsyncServer.java
+++ b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractProtocolAsyncServer.java
@@ -20,8 +20,8 @@ package org.apache.james.protocols.lib.netty;
 
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.handler.ProtocolHandler;
 import org.apache.james.protocols.api.handler.ProtocolHandlerChain;
 import org.apache.james.protocols.lib.ProtocolHandlerChainImpl;
diff --git a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractServerFactory.java b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractServerFactory.java
index 914af45..46ca193 100644
--- a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractServerFactory.java
+++ b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractServerFactory.java
@@ -24,8 +24,8 @@ import java.util.List;
 import javax.annotation.PostConstruct;
 import javax.annotation.PreDestroy;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.lifecycle.api.Configurable;
 
 /**
diff --git a/server/protocols/protocols-library/src/test/java/org/apache/james/protocols/lib/mock/MockProtocolHandlerLoader.java b/server/protocols/protocols-library/src/test/java/org/apache/james/protocols/lib/mock/MockProtocolHandlerLoader.java
index 4c5b5d9..d0fa6fe 100644
--- a/server/protocols/protocols-library/src/test/java/org/apache/james/protocols/lib/mock/MockProtocolHandlerLoader.java
+++ b/server/protocols/protocols-library/src/test/java/org/apache/james/protocols/lib/mock/MockProtocolHandlerLoader.java
@@ -13,7 +13,7 @@ import javax.annotation.PreDestroy;
 import javax.inject.Inject;
 import javax.inject.Named;
 
-import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration2.Configuration;
 import org.apache.james.metrics.api.MetricFactory;
 import org.apache.james.metrics.api.NoopMetricFactory;
 import org.apache.james.protocols.api.handler.ProtocolHandler;
diff --git a/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/CoreCmdHandlerLoader.java b/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/CoreCmdHandlerLoader.java
index cea3dfe..bf5e3f3 100644
--- a/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/CoreCmdHandlerLoader.java
+++ b/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/CoreCmdHandlerLoader.java
@@ -23,8 +23,8 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.stream.Stream;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.lmtpserver.hook.MailboxDeliverToRecipientHandler;
 import org.apache.james.protocols.api.handler.CommandDispatcher;
 import org.apache.james.protocols.api.handler.CommandHandlerResultLogger;
diff --git a/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/hook/MailboxDeliverToRecipientHandler.java b/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/hook/MailboxDeliverToRecipientHandler.java
index c59a6b5..3ca8a10 100644
--- a/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/hook/MailboxDeliverToRecipientHandler.java
+++ b/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/hook/MailboxDeliverToRecipientHandler.java
@@ -25,8 +25,8 @@ import java.util.Optional;
 import javax.inject.Inject;
 import javax.inject.Named;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.MailAddress;
 import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.mailbox.MailboxSession;
diff --git a/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/jmx/JMXHandlersLoader.java b/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/jmx/JMXHandlersLoader.java
index 66512bd..aa4084f 100644
--- a/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/jmx/JMXHandlersLoader.java
+++ b/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/jmx/JMXHandlersLoader.java
@@ -21,8 +21,8 @@ package org.apache.james.lmtpserver.jmx;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.lib.handler.HandlersPackage;
 
 public class JMXHandlersLoader implements HandlersPackage {
diff --git a/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServer.java b/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServer.java
index 68b259d..23f47c1 100644
--- a/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServer.java
+++ b/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServer.java
@@ -18,8 +18,8 @@
  ****************************************************************/
 package org.apache.james.lmtpserver.netty;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.lmtpserver.CoreCmdHandlerLoader;
 import org.apache.james.lmtpserver.jmx.JMXHandlersLoader;
 import org.apache.james.protocols.lib.handler.HandlersPackage;
diff --git a/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServerFactory.java b/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServerFactory.java
index ecf4040..8f8303e 100644
--- a/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServerFactory.java
+++ b/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServerFactory.java
@@ -23,7 +23,7 @@ import java.util.List;
 
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
 import org.apache.james.filesystem.api.FileSystem;
 import org.apache.james.metrics.api.MetricFactory;
 import org.apache.james.protocols.lib.handler.ProtocolHandlerLoader;
diff --git a/server/protocols/protocols-managesieve/src/main/java/org/apache/james/managesieveserver/netty/ManageSieveServerFactory.java b/server/protocols/protocols-managesieve/src/main/java/org/apache/james/managesieveserver/netty/ManageSieveServerFactory.java
index 5b96f6f..9d96b16 100644
--- a/server/protocols/protocols-managesieve/src/main/java/org/apache/james/managesieveserver/netty/ManageSieveServerFactory.java
+++ b/server/protocols/protocols-managesieve/src/main/java/org/apache/james/managesieveserver/netty/ManageSieveServerFactory.java
@@ -25,7 +25,7 @@ import java.util.List;
 import javax.annotation.PostConstruct;
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
 import org.apache.james.filesystem.api.FileSystem;
 import org.apache.james.managesieve.core.CoreProcessor;
 import org.apache.james.managesieve.jsieve.Parser;
diff --git a/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/core/CoreCmdHandlerLoader.java b/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/core/CoreCmdHandlerLoader.java
index 4abdf26..a9b6dea 100644
--- a/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/core/CoreCmdHandlerLoader.java
+++ b/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/core/CoreCmdHandlerLoader.java
@@ -22,8 +22,8 @@ package org.apache.james.pop3server.core;
 import java.util.LinkedList;
 import java.util.List;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.handler.CommandDispatcher;
 import org.apache.james.protocols.api.handler.CommandHandlerResultLogger;
 import org.apache.james.protocols.lib.handler.HandlersPackage;
diff --git a/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/jmx/JMXHandlersLoader.java b/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/jmx/JMXHandlersLoader.java
index 90eb223..b21902e 100644
--- a/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/jmx/JMXHandlersLoader.java
+++ b/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/jmx/JMXHandlersLoader.java
@@ -21,8 +21,8 @@ package org.apache.james.pop3server.jmx;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.lib.handler.HandlersPackage;
 
 public class JMXHandlersLoader implements HandlersPackage {
diff --git a/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3ServerFactory.java b/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3ServerFactory.java
index 92e66dd..977333d 100644
--- a/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3ServerFactory.java
+++ b/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3ServerFactory.java
@@ -5,7 +5,7 @@ import java.util.List;
 
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
 import org.apache.james.filesystem.api.FileSystem;
 import org.apache.james.protocols.lib.handler.ProtocolHandlerLoader;
 import org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer;
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/AddDefaultAttributesMessageHook.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/AddDefaultAttributesMessageHook.java
index 9b6a55d..0639b38 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/AddDefaultAttributesMessageHook.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/AddDefaultAttributesMessageHook.java
@@ -18,8 +18,8 @@
  ****************************************************************/
 package org.apache.james.smtpserver;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.smtp.SMTPSession;
 import org.apache.james.protocols.smtp.hook.HookResult;
 import org.apache.james.server.core.MailImpl;
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/AuthRequiredToRelayRcptHook.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/AuthRequiredToRelayRcptHook.java
index f577632..463f845 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/AuthRequiredToRelayRcptHook.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/AuthRequiredToRelayRcptHook.java
@@ -20,8 +20,8 @@ package org.apache.james.smtpserver;
 
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.Domain;
 import org.apache.james.domainlist.api.DomainList;
 import org.apache.james.domainlist.api.DomainListException;
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/CoreCmdHandlerLoader.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/CoreCmdHandlerLoader.java
index a2d8bf3..07edbd3 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/CoreCmdHandlerLoader.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/CoreCmdHandlerLoader.java
@@ -23,8 +23,8 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.stream.Stream;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.handler.CommandDispatcher;
 import org.apache.james.protocols.api.handler.CommandHandlerResultLogger;
 import org.apache.james.protocols.lib.handler.HandlersPackage;
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/DataLineJamesMessageHookHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/DataLineJamesMessageHookHandler.java
index 0ecbb2e..2f5bc85 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/DataLineJamesMessageHookHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/DataLineJamesMessageHookHandler.java
@@ -28,8 +28,8 @@ import java.util.List;
 
 import javax.mail.MessagingException;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.MailAddress;
 import org.apache.james.core.MaybeSender;
 import org.apache.james.lifecycle.api.LifecycleUtil;
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/MailPriorityHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/MailPriorityHandler.java
index 5230973..8cb3a5c 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/MailPriorityHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/MailPriorityHandler.java
@@ -24,9 +24,9 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.Domain;
 import org.apache.james.core.MailAddress;
 import org.apache.james.protocols.api.handler.ProtocolHandler;
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/POP3BeforeSMTPHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/POP3BeforeSMTPHandler.java
index 4b8f6f6..8b0928f 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/POP3BeforeSMTPHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/POP3BeforeSMTPHandler.java
@@ -21,9 +21,9 @@ package org.apache.james.smtpserver;
 
 import java.time.Duration;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.lifecycle.api.Configurable;
 import org.apache.james.protocols.api.Response;
 import org.apache.james.protocols.api.handler.ConnectHandler;
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SendMailHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SendMailHandler.java
index b9627d6..d3882a4 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SendMailHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SendMailHandler.java
@@ -22,8 +22,8 @@ package org.apache.james.smtpserver;
 import javax.inject.Inject;
 import javax.mail.MessagingException;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.smtp.SMTPSession;
 import org.apache.james.protocols.smtp.dsn.DSNStatus;
 import org.apache.james.protocols.smtp.hook.HookResult;
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SenderAuthIdentifyVerificationRcptHook.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SenderAuthIdentifyVerificationRcptHook.java
index 578d50a..4d520ca 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SenderAuthIdentifyVerificationRcptHook.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SenderAuthIdentifyVerificationRcptHook.java
@@ -20,8 +20,8 @@ package org.apache.james.smtpserver;
 
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.Domain;
 import org.apache.james.core.MailAddress;
 import org.apache.james.core.MaybeSender;
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SetMimeHeaderHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SetMimeHeaderHandler.java
index 0868af8..b6e6de5 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SetMimeHeaderHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SetMimeHeaderHandler.java
@@ -21,8 +21,8 @@ package org.apache.james.smtpserver;
 
 import javax.mail.internet.MimeMessage;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.handler.ProtocolHandler;
 import org.apache.james.protocols.smtp.SMTPSession;
 import org.apache.james.protocols.smtp.hook.HookResult;
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/UsersRepositoryAuthHook.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/UsersRepositoryAuthHook.java
index 5b81aac..d8df7b6 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/UsersRepositoryAuthHook.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/UsersRepositoryAuthHook.java
@@ -20,8 +20,8 @@ package org.apache.james.smtpserver;
 
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.smtp.SMTPSession;
 import org.apache.james.protocols.smtp.hook.AuthHook;
 import org.apache.james.protocols.smtp.hook.HookResult;
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/DNSRBLHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/DNSRBLHandler.java
index 9c95452..364bec5 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/DNSRBLHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/DNSRBLHandler.java
@@ -25,9 +25,9 @@ import java.util.Collections;
 
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.dnsservice.api.DNSService;
 import org.apache.james.protocols.api.handler.ProtocolHandler;
 
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/JDBCGreylistHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/JDBCGreylistHandler.java
index 4f3647a..1a90814 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/JDBCGreylistHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/JDBCGreylistHandler.java
@@ -36,8 +36,8 @@ import java.util.Map;
 import javax.inject.Inject;
 import javax.sql.DataSource;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.MailAddress;
 import org.apache.james.core.MaybeSender;
 import org.apache.james.dnsservice.api.DNSService;
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/MaxRcptHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/MaxRcptHandler.java
index 9e882ba..4357d8e 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/MaxRcptHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/MaxRcptHandler.java
@@ -19,8 +19,8 @@
 
 package org.apache.james.smtpserver.fastfail;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.handler.ProtocolHandler;
 
 public class MaxRcptHandler extends org.apache.james.protocols.smtp.core.fastfail.MaxRcptHandler implements ProtocolHandler {
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/MaxUnknownCmdHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/MaxUnknownCmdHandler.java
index d677807..08ed5b6 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/MaxUnknownCmdHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/MaxUnknownCmdHandler.java
@@ -19,8 +19,8 @@
 
 package org.apache.james.smtpserver.fastfail;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.handler.ProtocolHandler;
 
 public class MaxUnknownCmdHandler extends org.apache.james.protocols.smtp.core.fastfail.MaxUnknownCmdHandler implements ProtocolHandler {
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/SPFHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/SPFHandler.java
index 0bb898b..5e4ca19 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/SPFHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/SPFHandler.java
@@ -20,8 +20,8 @@ package org.apache.james.smtpserver.fastfail;
 
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.MailAddress;
 import org.apache.james.core.MaybeSender;
 import org.apache.james.jspf.core.DNSService;
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/SpamAssassinHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/SpamAssassinHandler.java
index 01718c7..d299901 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/SpamAssassinHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/SpamAssassinHandler.java
@@ -23,8 +23,8 @@ import javax.inject.Inject;
 import javax.mail.MessagingException;
 import javax.mail.internet.MimeMessage;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.metrics.api.MetricFactory;
 import org.apache.james.protocols.api.ProtocolSession.State;
 import org.apache.james.protocols.api.handler.ProtocolHandler;
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/SpamTrapHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/SpamTrapHandler.java
index ea96196..103aa62 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/SpamTrapHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/SpamTrapHandler.java
@@ -21,8 +21,8 @@ package org.apache.james.smtpserver.fastfail;
 
 import java.util.Arrays;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.handler.ProtocolHandler;
 
 public class SpamTrapHandler extends org.apache.james.protocols.smtp.core.fastfail.SpamTrapHandler implements ProtocolHandler {
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/URIRBLHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/URIRBLHandler.java
index 38bd4bb..d5e622b 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/URIRBLHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/URIRBLHandler.java
@@ -32,8 +32,8 @@ import javax.mail.internet.MimeMessage;
 import javax.mail.internet.MimeMultipart;
 import javax.mail.internet.MimePart;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.dnsservice.api.DNSService;
 import org.apache.james.protocols.api.ProtocolSession.State;
 import org.apache.james.protocols.api.handler.ProtocolHandler;
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptHandler.java
index 0a5bdfc..c3fd812 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptHandler.java
@@ -20,8 +20,8 @@ package org.apache.james.smtpserver.fastfail;
 
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.Domain;
 import org.apache.james.core.MailAddress;
 import org.apache.james.domainlist.api.DomainList;
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptMX.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptMX.java
index 5165f12..191f4d2 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptMX.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptMX.java
@@ -25,8 +25,8 @@ import java.util.Iterator;
 
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.core.Domain;
 import org.apache.james.core.MailAddress;
 import org.apache.james.core.MaybeSender;
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidSenderDomainHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidSenderDomainHandler.java
index 09a5a1b..ea4974a 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidSenderDomainHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidSenderDomainHandler.java
@@ -22,8 +22,8 @@ import java.util.Collection;
 
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.dnsservice.api.DNSService;
 import org.apache.james.protocols.smtp.SMTPSession;
 
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/jmx/HookResultJMXMonitor.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/jmx/HookResultJMXMonitor.java
index 1163e21..bc47c1b 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/jmx/HookResultJMXMonitor.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/jmx/HookResultJMXMonitor.java
@@ -23,8 +23,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.api.handler.ExtensibleHandler;
 import org.apache.james.protocols.api.handler.ProtocolHandler;
 import org.apache.james.protocols.api.handler.WiringException;
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/jmx/JMXHandlersLoader.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/jmx/JMXHandlersLoader.java
index 316c29d..a317c20 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/jmx/JMXHandlersLoader.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/jmx/JMXHandlersLoader.java
@@ -21,8 +21,8 @@ package org.apache.james.smtpserver.jmx;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.protocols.lib.handler.HandlersPackage;
 
 public class JMXHandlersLoader implements HandlersPackage {
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java
index 304dd07..a47ab67 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java
@@ -22,8 +22,8 @@ import java.util.Locale;
 
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.dnsservice.api.DNSService;
 import org.apache.james.dnsservice.library.netmatcher.NetMatcher;
 import org.apache.james.protocols.api.ProtocolSession;
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServerFactory.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServerFactory.java
index 35fc881..c6e7755 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServerFactory.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServerFactory.java
@@ -24,7 +24,7 @@ import java.util.List;
 
 import javax.inject.Inject;
 
-import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
 import org.apache.james.dnsservice.api.DNSService;
 import org.apache.james.filesystem.api.FileSystem;
 import org.apache.james.metrics.api.MetricFactory;
diff --git a/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/view/cassandra/configuration/CassandraMailQueueViewConfiguration.java b/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/view/cassandra/configuration/CassandraMailQueueViewConfiguration.java
index dee8f89..95e6540 100644
--- a/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/view/cassandra/configuration/CassandraMailQueueViewConfiguration.java
+++ b/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/view/cassandra/configuration/CassandraMailQueueViewConfiguration.java
@@ -23,7 +23,7 @@ import java.time.Duration;
 import java.util.Objects;
 import java.util.Optional;
 
-import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration2.Configuration;
 import org.apache.james.util.DurationParser;
 
 import com.google.common.base.MoreObjects;
diff --git a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/view/cassandra/configuration/CassandraMailQueueViewConfigurationTest.java b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/view/cassandra/configuration/CassandraMailQueueViewConfigurationTest.java
index fe4afc3..8e0cc07 100644
--- a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/view/cassandra/configuration/CassandraMailQueueViewConfigurationTest.java
+++ b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/view/cassandra/configuration/CassandraMailQueueViewConfigurationTest.java
@@ -25,7 +25,7 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 import java.time.Duration;
 
-import org.apache.commons.configuration.PropertiesConfiguration;
+import org.apache.commons.configuration2.PropertiesConfiguration;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
 
diff --git a/third-party/linshare/src/main/java/org/apache/james/linshare/LinshareConfiguration.java b/third-party/linshare/src/main/java/org/apache/james/linshare/LinshareConfiguration.java
index 6957bb3..a619284 100644
--- a/third-party/linshare/src/main/java/org/apache/james/linshare/LinshareConfiguration.java
+++ b/third-party/linshare/src/main/java/org/apache/james/linshare/LinshareConfiguration.java
@@ -23,7 +23,7 @@ import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.Objects;
 
-import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration2.Configuration;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Preconditions;
diff --git a/third-party/linshare/src/test/java/org/apache/james/linshare/LinshareConfigurationTest.java b/third-party/linshare/src/test/java/org/apache/james/linshare/LinshareConfigurationTest.java
index 59d237e..81d5d66 100644
--- a/third-party/linshare/src/test/java/org/apache/james/linshare/LinshareConfigurationTest.java
+++ b/third-party/linshare/src/test/java/org/apache/james/linshare/LinshareConfigurationTest.java
@@ -25,7 +25,7 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import java.net.MalformedURLException;
 import java.net.URL;
 
-import org.apache.commons.configuration.PropertiesConfiguration;
+import org.apache.commons.configuration2.PropertiesConfiguration;
 import org.junit.jupiter.api.Test;
 
 import nl.jqno.equalsverifier.EqualsVerifier;


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[james-project] 01/16: JAMES-2855 Upgrade commons-configuration 1.9 -> 2.5

Posted by bt...@apache.org.
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 4a518c4648a98fd10c804a58518ef32a22547638
Author: Tran Tien Duc <dt...@linagora.com>
AuthorDate: Mon Aug 19 10:20:14 2019 +0700

    JAMES-2855 Upgrade commons-configuration 1.9 -> 2.5
    
    Use slf4j-log4j brigde
---
 backends-common/elasticsearch/pom.xml              | 12 +++--
 backends-common/rabbitmq/pom.xml                   | 12 +++--
 mailbox/plugin/quota-mailing/pom.xml               | 12 +++--
 mailbox/tika/pom.xml                               | 12 +++--
 pom.xml                                            | 51 +++++++---------------
 protocols/api/pom.xml                              | 12 +++--
 server/container/guice/es-metric-reporter/pom.xml  |  8 +++-
 .../guice/mailbox-plugin-spamassassin/pom.xml      | 12 +++--
 server/container/jetty/pom.xml                     | 12 ++++-
 server/container/lifecycle-api/pom.xml             | 12 ++++-
 server/container/spring/pom.xml                    | 16 +++----
 server/data/data-cassandra/pom.xml                 | 12 +++--
 server/data/data-file/pom.xml                      | 12 +++--
 server/data/data-jdbc/pom.xml                      | 12 +++--
 server/data/data-jpa/pom.xml                       | 12 +++--
 server/data/data-ldap/pom.xml                      | 12 ++++-
 server/data/data-library/pom.xml                   |  8 +++-
 server/dns-service/dnsservice-dnsjava/pom.xml      | 18 +++++---
 server/mailet/mailetcontainer-camel/pom.xml        | 12 +++--
 server/protocols/fetchmail/pom.xml                 |  8 +++-
 server/protocols/protocols-imap4/pom.xml           | 12 +++--
 server/protocols/protocols-library/pom.xml         | 12 +++--
 server/protocols/protocols-lmtp/pom.xml            | 12 +++--
 server/protocols/protocols-managesieve/pom.xml     | 12 +++--
 server/protocols/protocols-pop3/pom.xml            | 12 +++--
 server/protocols/protocols-smtp/pom.xml            | 12 +++--
 third-party/linshare/pom.xml                       | 12 +++--
 27 files changed, 227 insertions(+), 134 deletions(-)

diff --git a/backends-common/elasticsearch/pom.xml b/backends-common/elasticsearch/pom.xml
index 288c815..b68bd15 100644
--- a/backends-common/elasticsearch/pom.xml
+++ b/backends-common/elasticsearch/pom.xml
@@ -49,10 +49,6 @@
             <artifactId>throwing-lambdas</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-configuration</groupId>
-            <artifactId>commons-configuration</artifactId>
-        </dependency>
-        <dependency>
             <groupId>javax.annotation</groupId>
             <artifactId>javax.annotation-api</artifactId>
         </dependency>
@@ -75,6 +71,10 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-configuration2</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.assertj</groupId>
             <artifactId>assertj-core</artifactId>
             <scope>test</scope>
@@ -104,6 +104,10 @@
             <artifactId>slf4j-api</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.testcontainers</groupId>
             <artifactId>testcontainers</artifactId>
             <scope>test</scope>
diff --git a/backends-common/rabbitmq/pom.xml b/backends-common/rabbitmq/pom.xml
index fdf825b..61f1e78 100644
--- a/backends-common/rabbitmq/pom.xml
+++ b/backends-common/rabbitmq/pom.xml
@@ -53,10 +53,6 @@
             <artifactId>amqp-client</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-configuration</groupId>
-            <artifactId>commons-configuration</artifactId>
-        </dependency>
-        <dependency>
             <groupId>io.github.openfeign</groupId>
             <artifactId>feign-core</artifactId>
         </dependency>
@@ -86,6 +82,10 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-configuration2</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.assertj</groupId>
             <artifactId>assertj-core</artifactId>
             <scope>test</scope>
@@ -106,6 +106,10 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.testcontainers</groupId>
             <artifactId>testcontainers</artifactId>
             <scope>test</scope>
diff --git a/mailbox/plugin/quota-mailing/pom.xml b/mailbox/plugin/quota-mailing/pom.xml
index f10d43c..682e405 100644
--- a/mailbox/plugin/quota-mailing/pom.xml
+++ b/mailbox/plugin/quota-mailing/pom.xml
@@ -96,10 +96,6 @@
             <artifactId>james-server-util</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-configuration</groupId>
-            <artifactId>commons-configuration</artifactId>
-        </dependency>
-        <dependency>
             <groupId>com.github.spullara.mustache.java</groupId>
             <artifactId>compiler</artifactId>
         </dependency>
@@ -113,6 +109,10 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-configuration2</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.assertj</groupId>
             <artifactId>assertj-core</artifactId>
             <scope>test</scope>
@@ -136,6 +136,10 @@
             <groupId>org.slf4j</groupId>
             <artifactId>jcl-over-slf4j</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+        </dependency>
     </dependencies>
 
 
diff --git a/mailbox/tika/pom.xml b/mailbox/tika/pom.xml
index cba2b2b..e967ba2 100644
--- a/mailbox/tika/pom.xml
+++ b/mailbox/tika/pom.xml
@@ -67,16 +67,16 @@
             <artifactId>guava</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-configuration</groupId>
-            <artifactId>commons-configuration</artifactId>
-        </dependency>
-        <dependency>
             <groupId>nl.jqno.equalsverifier</groupId>
             <artifactId>equalsverifier</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.commons</groupId>
+            <artifactId>commons-configuration2</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.commons</groupId>
             <artifactId>commons-lang3</artifactId>
         </dependency>
         <dependency>
@@ -125,6 +125,10 @@
             <artifactId>jcl-over-slf4j</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.testcontainers</groupId>
             <artifactId>testcontainers</artifactId>
             <scope>test</scope>
diff --git a/pom.xml b/pom.xml
index 886b3a1..babfb69 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1996,46 +1996,16 @@
                 <version>${qdox.version}</version>
             </dependency>
             <dependency>
+                <groupId>commons-beanutils</groupId>
+                <artifactId>commons-beanutils</artifactId>
+                <version>1.9.3</version>
+            </dependency>
+            <dependency>
                 <groupId>commons-cli</groupId>
                 <artifactId>commons-cli</artifactId>
                 <version>1.4</version>
             </dependency>
             <dependency>
-                <groupId>commons-configuration</groupId>
-                <artifactId>commons-configuration</artifactId>
-                <version>1.9</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>dom4j</groupId>
-                        <artifactId>dom4j</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>servletapi</groupId>
-                        <artifactId>servletapi</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>xerces</groupId>
-                        <artifactId>xerces</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>commons-digester</groupId>
-                        <artifactId>commons-digester</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>commons-beanutils</groupId>
-                        <artifactId>commons-beanutils-core</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>commons-beanutils</groupId>
-                        <artifactId>commons-beanutils-bean-collections</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>commons-logging</groupId>
-                        <artifactId>commons-logging</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
                 <groupId>commons-daemon</groupId>
                 <artifactId>commons-daemon</artifactId>
                 <version>1.2.0</version>
@@ -2251,6 +2221,17 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.commons</groupId>
+                <artifactId>commons-configuration2</artifactId>
+                <version>2.5</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>commons-logging</groupId>
+                        <artifactId>commons-logging</artifactId>
+                    </exclusion>
+                </exclusions>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.commons</groupId>
                 <artifactId>commons-lang3</artifactId>
                 <version>3.9</version>
             </dependency>
diff --git a/protocols/api/pom.xml b/protocols/api/pom.xml
index 4e503e1..7f70336 100644
--- a/protocols/api/pom.xml
+++ b/protocols/api/pom.xml
@@ -42,15 +42,15 @@
             <artifactId>guava</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-configuration</groupId>
-            <artifactId>commons-configuration</artifactId>
-        </dependency>
-        <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-configuration2</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.assertj</groupId>
             <artifactId>assertj-core</artifactId>
             <scope>test</scope>
@@ -63,6 +63,10 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+        </dependency>
     </dependencies>
 
 </project>
diff --git a/server/container/guice/es-metric-reporter/pom.xml b/server/container/guice/es-metric-reporter/pom.xml
index e4c3cef..15ec605 100644
--- a/server/container/guice/es-metric-reporter/pom.xml
+++ b/server/container/guice/es-metric-reporter/pom.xml
@@ -57,12 +57,16 @@
             <artifactId>guice-multibindings</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-configuration</groupId>
-            <artifactId>commons-configuration</artifactId>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-configuration2</artifactId>
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>jcl-over-slf4j</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+        </dependency>
     </dependencies>
 </project>
diff --git a/server/container/guice/mailbox-plugin-spamassassin/pom.xml b/server/container/guice/mailbox-plugin-spamassassin/pom.xml
index f662b0a..1f3d02c 100644
--- a/server/container/guice/mailbox-plugin-spamassassin/pom.xml
+++ b/server/container/guice/mailbox-plugin-spamassassin/pom.xml
@@ -49,15 +49,15 @@
             <artifactId>guice-multibindings</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-configuration</groupId>
-            <artifactId>commons-configuration</artifactId>
-        </dependency>
-        <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-configuration2</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.assertj</groupId>
             <artifactId>assertj-core</artifactId>
             <scope>test</scope>
@@ -66,6 +66,10 @@
             <groupId>org.slf4j</groupId>
             <artifactId>jcl-over-slf4j</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+        </dependency>
     </dependencies>
 
 </project>
diff --git a/server/container/jetty/pom.xml b/server/container/jetty/pom.xml
index 9b211b9..0576690 100644
--- a/server/container/jetty/pom.xml
+++ b/server/container/jetty/pom.xml
@@ -50,8 +50,8 @@
             <artifactId>guava</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-configuration</groupId>
-            <artifactId>commons-configuration</artifactId>
+            <groupId>commons-beanutils</groupId>
+            <artifactId>commons-beanutils</artifactId>
         </dependency>
         <dependency>
             <groupId>io.rest-assured</groupId>
@@ -64,6 +64,10 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-configuration2</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.assertj</groupId>
             <artifactId>assertj-core</artifactId>
             <scope>test</scope>
@@ -84,5 +88,9 @@
             <groupId>org.slf4j</groupId>
             <artifactId>jcl-over-slf4j</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+        </dependency>
     </dependencies>
 </project>
diff --git a/server/container/lifecycle-api/pom.xml b/server/container/lifecycle-api/pom.xml
index 8de68af..831bdc5 100644
--- a/server/container/lifecycle-api/pom.xml
+++ b/server/container/lifecycle-api/pom.xml
@@ -38,8 +38,8 @@
             <artifactId>guava</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-configuration</groupId>
-            <artifactId>commons-configuration</artifactId>
+            <groupId>commons-beanutils</groupId>
+            <artifactId>commons-beanutils</artifactId>
         </dependency>
         <dependency>
             <groupId>nl.jqno.equalsverifier</groupId>
@@ -47,6 +47,10 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-configuration2</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.junit.jupiter</groupId>
             <artifactId>junit-jupiter-engine</artifactId>
             <scope>test</scope>
@@ -59,6 +63,10 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/server/container/spring/pom.xml b/server/container/spring/pom.xml
index 3306e33..ad42534 100644
--- a/server/container/spring/pom.xml
+++ b/server/container/spring/pom.xml
@@ -93,14 +93,6 @@
             <artifactId>javax.mail</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-collections4</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>commons-configuration</groupId>
-            <artifactId>commons-configuration</artifactId>
-        </dependency>
-        <dependency>
             <groupId>javax.inject</groupId>
             <artifactId>javax.inject</artifactId>
         </dependency>
@@ -134,6 +126,10 @@
             <artifactId>commons-collections4</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-configuration2</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.assertj</groupId>
             <artifactId>assertj-core</artifactId>
             <scope>test</scope>
@@ -151,6 +147,10 @@
             <artifactId>slf4j-api</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-beans</artifactId>
         </dependency>
diff --git a/server/data/data-cassandra/pom.xml b/server/data/data-cassandra/pom.xml
index d811ff0..f8cd585 100644
--- a/server/data/data-cassandra/pom.xml
+++ b/server/data/data-cassandra/pom.xml
@@ -89,10 +89,6 @@
             <artifactId>guava</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-configuration</groupId>
-            <artifactId>commons-configuration</artifactId>
-        </dependency>
-        <dependency>
             <groupId>io.cucumber</groupId>
             <artifactId>cucumber-java</artifactId>
             <scope>test</scope>
@@ -118,6 +114,10 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-configuration2</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.assertj</groupId>
             <artifactId>assertj-core</artifactId>
             <scope>test</scope>
@@ -146,6 +146,10 @@
             <artifactId>slf4j-api</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.testcontainers</groupId>
             <artifactId>testcontainers</artifactId>
             <scope>test</scope>
diff --git a/server/data/data-file/pom.xml b/server/data/data-file/pom.xml
index 9e98ab7..93161b7 100644
--- a/server/data/data-file/pom.xml
+++ b/server/data/data-file/pom.xml
@@ -103,10 +103,6 @@
             <artifactId>javax.mail</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-configuration</groupId>
-            <artifactId>commons-configuration</artifactId>
-        </dependency>
-        <dependency>
             <groupId>io.cucumber</groupId>
             <artifactId>cucumber-java</artifactId>
             <scope>test</scope>
@@ -126,6 +122,10 @@
             <artifactId>javax.inject</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-configuration2</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.assertj</groupId>
             <artifactId>assertj-core</artifactId>
             <scope>test</scope>
@@ -153,6 +153,10 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/server/data/data-jdbc/pom.xml b/server/data/data-jdbc/pom.xml
index b77bfa4..71aee61 100644
--- a/server/data/data-jdbc/pom.xml
+++ b/server/data/data-jdbc/pom.xml
@@ -98,10 +98,6 @@
             <artifactId>javax.mail</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-configuration</groupId>
-            <artifactId>commons-configuration</artifactId>
-        </dependency>
-        <dependency>
             <groupId>commons-dbcp</groupId>
             <artifactId>commons-dbcp</artifactId>
             <scope>runtime</scope>
@@ -130,6 +126,10 @@
             <artifactId>javax.inject</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-configuration2</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.apache.derby</groupId>
             <artifactId>derby</artifactId>
             <scope>runtime</scope>
@@ -162,6 +162,10 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/server/data/data-jpa/pom.xml b/server/data/data-jpa/pom.xml
index 3da19af..fa90b54 100644
--- a/server/data/data-jpa/pom.xml
+++ b/server/data/data-jpa/pom.xml
@@ -86,15 +86,15 @@
             <artifactId>guava</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-configuration2</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.apache.derby</groupId>
             <artifactId>derby</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>commons-configuration</groupId>
-            <artifactId>commons-configuration</artifactId>
-        </dependency>
-        <dependency>
             <groupId>commons-dbcp</groupId>
             <artifactId>commons-dbcp</artifactId>
             <scope>test</scope>
@@ -142,6 +142,10 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/server/data/data-ldap/pom.xml b/server/data/data-ldap/pom.xml
index b9755cc..f515cc4 100644
--- a/server/data/data-ldap/pom.xml
+++ b/server/data/data-ldap/pom.xml
@@ -60,8 +60,12 @@
             <artifactId>guavate</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-configuration</groupId>
-            <artifactId>commons-configuration</artifactId>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-configuration2</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
         </dependency>
         <dependency>
             <groupId>javax.annotation</groupId>
@@ -94,6 +98,10 @@
             <artifactId>slf4j-api</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.testcontainers</groupId>
             <artifactId>testcontainers</artifactId>
             <scope>test</scope>
diff --git a/server/data/data-library/pom.xml b/server/data/data-library/pom.xml
index 702e6f4..90df7d4 100644
--- a/server/data/data-library/pom.xml
+++ b/server/data/data-library/pom.xml
@@ -95,8 +95,8 @@
             <artifactId>javax.mail</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-configuration</groupId>
-            <artifactId>commons-configuration</artifactId>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-configuration2</artifactId>
         </dependency>
         <dependency>
             <groupId>io.cucumber</groupId>
@@ -145,6 +145,10 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/server/dns-service/dnsservice-dnsjava/pom.xml b/server/dns-service/dnsservice-dnsjava/pom.xml
index 2cc4e68..d3c10c8 100644
--- a/server/dns-service/dnsservice-dnsjava/pom.xml
+++ b/server/dns-service/dnsservice-dnsjava/pom.xml
@@ -55,10 +55,6 @@
             <artifactId>guava</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-configuration</groupId>
-            <artifactId>commons-configuration</artifactId>
-        </dependency>
-        <dependency>
             <groupId>dnsjava</groupId>
             <artifactId>dnsjava</artifactId>
         </dependency>
@@ -76,9 +72,8 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.mockito</groupId>
-            <artifactId>mockito-core</artifactId>
-            <scope>test</scope>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-configuration2</artifactId>
         </dependency>
         <dependency>
             <groupId>org.assertj</groupId>
@@ -86,6 +81,11 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.mockito</groupId>
+            <artifactId>mockito-core</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>jcl-over-slf4j</artifactId>
         </dependency>
@@ -93,6 +93,10 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/server/mailet/mailetcontainer-camel/pom.xml b/server/mailet/mailetcontainer-camel/pom.xml
index 47c1000..b0ff16a 100644
--- a/server/mailet/mailetcontainer-camel/pom.xml
+++ b/server/mailet/mailetcontainer-camel/pom.xml
@@ -122,10 +122,6 @@
             <artifactId>jaxb-impl</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-configuration</groupId>
-            <artifactId>commons-configuration</artifactId>
-        </dependency>
-        <dependency>
             <groupId>javax.activation</groupId>
             <artifactId>activation</artifactId>
         </dependency>
@@ -146,6 +142,10 @@
             <artifactId>camel-core</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-configuration2</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.assertj</groupId>
             <artifactId>assertj-core</artifactId>
             <scope>test</scope>
@@ -183,6 +183,10 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/server/protocols/fetchmail/pom.xml b/server/protocols/fetchmail/pom.xml
index 32b1565..c02d3f2 100644
--- a/server/protocols/fetchmail/pom.xml
+++ b/server/protocols/fetchmail/pom.xml
@@ -66,8 +66,8 @@
             <artifactId>javax.mail</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-configuration</groupId>
-            <artifactId>commons-configuration</artifactId>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-configuration2</artifactId>
         </dependency>
         <dependency>
             <groupId>javax.annotation</groupId>
@@ -85,6 +85,10 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/server/protocols/protocols-imap4/pom.xml b/server/protocols/protocols-imap4/pom.xml
index 4a8e2e7..4decc91 100644
--- a/server/protocols/protocols-imap4/pom.xml
+++ b/server/protocols/protocols-imap4/pom.xml
@@ -55,10 +55,6 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>commons-configuration</groupId>
-            <artifactId>commons-configuration</artifactId>
-        </dependency>
-        <dependency>
             <groupId>commons-io</groupId>
             <artifactId>commons-io</artifactId>
         </dependency>
@@ -89,6 +85,10 @@
             <artifactId>protocols-netty</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-configuration2</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.assertj</groupId>
             <artifactId>assertj-core</artifactId>
             <scope>test</scope>
@@ -101,6 +101,10 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/server/protocols/protocols-library/pom.xml b/server/protocols/protocols-library/pom.xml
index de2841b..ac7b806 100644
--- a/server/protocols/protocols-library/pom.xml
+++ b/server/protocols/protocols-library/pom.xml
@@ -57,10 +57,6 @@
             <artifactId>metrics-api</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-configuration</groupId>
-            <artifactId>commons-configuration</artifactId>
-        </dependency>
-        <dependency>
             <groupId>io.netty</groupId>
             <artifactId>netty</artifactId>
         </dependency>
@@ -81,6 +77,10 @@
             <artifactId>protocols-netty</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-configuration2</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>jcl-over-slf4j</artifactId>
         </dependency>
@@ -88,6 +88,10 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/server/protocols/protocols-lmtp/pom.xml b/server/protocols/protocols-lmtp/pom.xml
index e93732d..ab6288b 100644
--- a/server/protocols/protocols-lmtp/pom.xml
+++ b/server/protocols/protocols-lmtp/pom.xml
@@ -84,10 +84,6 @@
             <artifactId>javax.mail</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-configuration</groupId>
-            <artifactId>commons-configuration</artifactId>
-        </dependency>
-        <dependency>
             <groupId>io.netty</groupId>
             <artifactId>netty</artifactId>
         </dependency>
@@ -116,6 +112,10 @@
             <artifactId>protocols-smtp</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-configuration2</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>jcl-over-slf4j</artifactId>
         </dependency>
@@ -123,6 +123,10 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/server/protocols/protocols-managesieve/pom.xml b/server/protocols/protocols-managesieve/pom.xml
index 207160a..93090b2 100644
--- a/server/protocols/protocols-managesieve/pom.xml
+++ b/server/protocols/protocols-managesieve/pom.xml
@@ -22,10 +22,6 @@
             <artifactId>james-server-protocols-library</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-configuration</groupId>
-            <artifactId>commons-configuration</artifactId>
-        </dependency>
-        <dependency>
             <groupId>commons-io</groupId>
             <artifactId>commons-io</artifactId>
         </dependency>
@@ -54,6 +50,10 @@
             <artifactId>protocols-netty</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-configuration2</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>jcl-over-slf4j</artifactId>
         </dependency>
@@ -61,6 +61,10 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+        </dependency>
     </dependencies>
 
 </project>
diff --git a/server/protocols/protocols-pop3/pom.xml b/server/protocols/protocols-pop3/pom.xml
index 4f47c6b..60e244f 100644
--- a/server/protocols/protocols-pop3/pom.xml
+++ b/server/protocols/protocols-pop3/pom.xml
@@ -104,10 +104,6 @@
             <artifactId>javax.mail</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-configuration</groupId>
-            <artifactId>commons-configuration</artifactId>
-        </dependency>
-        <dependency>
             <groupId>commons-net</groupId>
             <artifactId>commons-net</artifactId>
             <scope>test</scope>
@@ -148,6 +144,10 @@
             <artifactId>protocols-pop3</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-configuration2</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.assertj</groupId>
             <artifactId>assertj-core</artifactId>
             <scope>test</scope>
@@ -160,6 +160,10 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/server/protocols/protocols-smtp/pom.xml b/server/protocols/protocols-smtp/pom.xml
index 6d7b388..784fd1d 100644
--- a/server/protocols/protocols-smtp/pom.xml
+++ b/server/protocols/protocols-smtp/pom.xml
@@ -157,10 +157,6 @@
             <artifactId>javax.mail</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-configuration</groupId>
-            <artifactId>commons-configuration</artifactId>
-        </dependency>
-        <dependency>
             <groupId>commons-net</groupId>
             <artifactId>commons-net</artifactId>
             <scope>test</scope>
@@ -217,6 +213,10 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-configuration2</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.assertj</groupId>
             <artifactId>assertj-core</artifactId>
             <scope>test</scope>
@@ -234,6 +234,10 @@
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/third-party/linshare/pom.xml b/third-party/linshare/pom.xml
index fdb3266..20b33fa 100644
--- a/third-party/linshare/pom.xml
+++ b/third-party/linshare/pom.xml
@@ -64,10 +64,6 @@
             <artifactId>guava</artifactId>
         </dependency>
         <dependency>
-            <groupId>commons-configuration</groupId>
-            <artifactId>commons-configuration</artifactId>
-        </dependency>
-        <dependency>
             <groupId>io.github.openfeign</groupId>
             <artifactId>feign-core</artifactId>
         </dependency>
@@ -94,6 +90,10 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-configuration2</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.assertj</groupId>
             <artifactId>assertj-core</artifactId>
             <scope>test</scope>
@@ -118,6 +118,10 @@
             <artifactId>slf4j-api</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.testcontainers</groupId>
             <artifactId>testcontainers</artifactId>
             <scope>test</scope>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[james-project] 09/16: JAMES-2857 Remove bundle and felix plugin from build

Posted by bt...@apache.org.
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 2137385820c70129c2d611edb97605af562f69fd
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Wed Aug 14 13:09:11 2019 +0700

    JAMES-2857 Remove bundle and felix plugin from build
    
    Bundle and felix maven bundle product are being use to expose OSGI modules,
    that we are no longer supporting (disabled build).
    
    Note that some module have bundle definition, and some other don't, which is a major inconsistency
    in our maven build structure I am willing to rationnalize.
    
    Moreover this has a performance impact upon build (~1 minute on 8 cores)
---
 mailbox/api/pom.xml                                |  2 +-
 mailbox/caching/pom.xml                            |  2 +-
 mailbox/jpa/pom.xml                                |  2 +-
 mailbox/lucene/pom.xml                             |  2 +-
 mailbox/maildir/pom.xml                            |  2 +-
 mailbox/memory/pom.xml                             |  2 +-
 mailbox/pom.xml                                    |  5 -----
 mailbox/spring/pom.xml                             |  2 +-
 mailbox/store/pom.xml                              |  2 +-
 mailbox/zoo-seq-provider/pom.xml                   |  2 +-
 mailet/ai/pom.xml                                  |  2 +-
 mailet/api/pom.xml                                 |  2 +-
 mailet/base/pom.xml                                | 12 +----------
 mailet/crypto/pom.xml                              | 11 +---------
 mailet/pom.xml                                     |  5 -----
 mailet/standard/pom.xml                            |  2 +-
 mailet/test/pom.xml                                | 12 +----------
 mpt/antlib/pom.xml                                 |  1 +
 mpt/core/pom.xml                                   |  1 +
 mpt/mavenplugin/pom.xml                            | 23 --------------------
 mpt/pom.xml                                        |  1 +
 pom.xml                                            | 25 ----------------------
 protocols/api/pom.xml                              |  2 +-
 protocols/imap/pom.xml                             |  2 +-
 protocols/lmtp/pom.xml                             |  2 +-
 protocols/managesieve/pom.xml                      |  2 +-
 protocols/netty/pom.xml                            |  2 +-
 protocols/pom.xml                                  | 10 ---------
 protocols/pop3/pom.xml                             |  2 +-
 protocols/smtp/pom.xml                             |  2 +-
 server/app/pom.xml                                 |  7 +-----
 server/container/cli-integration/pom.xml           | 10 ---------
 server/container/cli/pom.xml                       |  5 -----
 server/container/core/pom.xml                      |  7 +-----
 server/container/filesystem-api/pom.xml            |  7 +-----
 server/container/guice/cassandra-guice/pom.xml     |  5 -----
 .../container/guice/cassandra-ldap-guice/pom.xml   |  5 -----
 .../guice/cassandra-rabbitmq-guice/pom.xml         |  5 -----
 .../guice/cassandra-rabbitmq-ldap-guice/pom.xml    |  5 -----
 server/container/guice/configuration/pom.xml       | 11 ----------
 server/container/guice/guice-common/pom.xml        | 11 ----------
 server/container/guice/jmx/pom.xml                 | 11 ----------
 server/container/guice/jpa-common-guice/pom.xml    | 11 ----------
 server/container/guice/jpa-guice/pom.xml           |  5 -----
 server/container/guice/jpa-smtp-mariadb/pom.xml    |  5 -----
 server/container/guice/jpa-smtp/pom.xml            |  5 -----
 server/container/guice/mailbox/pom.xml             | 11 ----------
 server/container/guice/mailet/pom.xml              | 11 ----------
 server/container/guice/memory-guice/pom.xml        |  6 ------
 server/container/guice/onami/pom.xml               | 11 ----------
 server/container/guice/protocols/imap/pom.xml      | 11 ----------
 server/container/guice/protocols/jmap/pom.xml      | 11 ----------
 server/container/guice/protocols/lmtp/pom.xml      | 11 ----------
 .../container/guice/protocols/managedsieve/pom.xml | 11 ----------
 server/container/guice/protocols/netty/pom.xml     | 11 ----------
 server/container/guice/protocols/pop/pom.xml       | 11 ----------
 server/container/guice/protocols/smtp/pom.xml      | 11 ----------
 .../guice/protocols/webadmin-cassandra/pom.xml     | 11 ----------
 .../guice/protocols/webadmin-data/pom.xml          | 11 ----------
 .../guice/protocols/webadmin-mailbox/pom.xml       | 11 ----------
 .../guice/protocols/webadmin-mailqueue/pom.xml     | 11 ----------
 .../protocols/webadmin-mailrepository/pom.xml      | 11 ----------
 .../guice/protocols/webadmin-swagger/pom.xml       | 11 ----------
 server/container/guice/protocols/webadmin/pom.xml  | 11 ----------
 server/container/lifecycle-api/pom.xml             | 13 +----------
 server/container/mailbox-adapter/pom.xml           | 12 +----------
 server/container/mailbox-jmx/pom.xml               | 13 +----------
 .../container/metrics/metrics-es-reporter/pom.xml  |  9 --------
 server/container/spring/pom.xml                    |  6 +-----
 server/container/util/pom.xml                      | 11 +---------
 server/data/data-api/pom.xml                       |  7 +-----
 server/data/data-cassandra/pom.xml                 |  4 ----
 server/data/data-file/pom.xml                      |  7 +-----
 server/data/data-jdbc/pom.xml                      | 13 +----------
 server/data/data-jmap-cassandra/pom.xml            |  4 ----
 server/data/data-jpa/pom.xml                       |  7 +-----
 server/data/data-ldap/pom.xml                      | 13 +----------
 server/data/data-library/pom.xml                   |  7 +-----
 server/data/data-memory/pom.xml                    |  7 +-----
 server/dns-service/dnsservice-api/pom.xml          |  7 +-----
 server/dns-service/dnsservice-dnsjava/pom.xml      | 12 +----------
 server/dns-service/dnsservice-library/pom.xml      | 12 +----------
 server/dns-service/dnsservice-test/pom.xml         |  7 +-----
 server/karaf/integration/pom.xml                   |  2 ++
 server/mailet/integration-testing/pom.xml          |  2 +-
 server/mailet/mailetcontainer-api/pom.xml          |  7 +-----
 server/mailet/mailetcontainer-camel/pom.xml        | 11 +---------
 server/mailet/mailets/pom.xml                      |  6 +-----
 server/mailrepository/mailrepository-api/pom.xml   |  7 +-----
 .../mailrepository-cassandra/pom.xml               |  5 -----
 .../mailrepository/mailrepository-memory/pom.xml   |  5 -----
 server/pom.xml                                     | 19 ----------------
 server/protocols/fetchmail/pom.xml                 | 12 +----------
 server/protocols/protocols-imap4/pom.xml           | 11 +---------
 server/protocols/protocols-library/pom.xml         |  6 +-----
 server/protocols/protocols-lmtp/pom.xml            | 11 +---------
 server/protocols/protocols-pop3/pom.xml            | 11 +---------
 server/protocols/protocols-smtp/pom.xml            | 11 +---------
 server/queue/queue-activemq/pom.xml                | 12 +----------
 server/queue/queue-api/pom.xml                     |  6 +-----
 server/queue/queue-file/pom.xml                    |  6 +-----
 server/queue/queue-jms/pom.xml                     | 11 +---------
 server/queue/queue-rabbitmq/pom.xml                |  2 +-
 103 files changed, 62 insertions(+), 724 deletions(-)

diff --git a/mailbox/api/pom.xml b/mailbox/api/pom.xml
index a06a665..f8bb5c1 100644
--- a/mailbox/api/pom.xml
+++ b/mailbox/api/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>apache-james-mailbox-api</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
     <name>Apache James :: Mailbox :: API</name>
 
     <dependencies>
diff --git a/mailbox/caching/pom.xml b/mailbox/caching/pom.xml
index 622b9da..589e2e6 100644
--- a/mailbox/caching/pom.xml
+++ b/mailbox/caching/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>apache-james-mailbox-caching</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
     <name>Apache James :: Mailbox :: Caching</name>
 
     <description>JAMES-2703 This maven module is deprecated and will be removed straight after upcoming James 3.4.0 release, unless it finds a maintainer.
diff --git a/mailbox/jpa/pom.xml b/mailbox/jpa/pom.xml
index 9f4f1a5..71786ab 100644
--- a/mailbox/jpa/pom.xml
+++ b/mailbox/jpa/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>apache-james-mailbox-jpa</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
     <name>Apache James :: Mailbox :: JPA</name>
 
     <dependencies>
diff --git a/mailbox/lucene/pom.xml b/mailbox/lucene/pom.xml
index 01eb334..357e6e2 100644
--- a/mailbox/lucene/pom.xml
+++ b/mailbox/lucene/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>apache-james-mailbox-lucene</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
     <name>Apache James :: Mailbox :: Lucene Index</name>
 
     <dependencies>
diff --git a/mailbox/maildir/pom.xml b/mailbox/maildir/pom.xml
index 6e19ad4..a5c206b 100644
--- a/mailbox/maildir/pom.xml
+++ b/mailbox/maildir/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>apache-james-mailbox-maildir</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
     <name>Apache James :: Mailbox :: Maildir</name>
 
     <dependencies>
diff --git a/mailbox/memory/pom.xml b/mailbox/memory/pom.xml
index 2fd892b..1351c3c 100644
--- a/mailbox/memory/pom.xml
+++ b/mailbox/memory/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>apache-james-mailbox-memory</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
     <name>Apache James :: Mailbox :: In Memory</name>
 
     <dependencies>
diff --git a/mailbox/pom.xml b/mailbox/pom.xml
index e107038..74912dd 100644
--- a/mailbox/pom.xml
+++ b/mailbox/pom.xml
@@ -110,11 +110,6 @@
                     </descriptorRefs>
                 </configuration>
             </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
         </plugins>
     </build>
 
diff --git a/mailbox/spring/pom.xml b/mailbox/spring/pom.xml
index 391ee10..eb77af4 100644
--- a/mailbox/spring/pom.xml
+++ b/mailbox/spring/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>apache-james-mailbox-spring</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
     <name>Apache James :: Mailbox :: Spring</name>
 
     <dependencies>
diff --git a/mailbox/store/pom.xml b/mailbox/store/pom.xml
index 8938577..685a79d 100644
--- a/mailbox/store/pom.xml
+++ b/mailbox/store/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>apache-james-mailbox-store</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
     <name>Apache James :: Mailbox :: Store Framework</name>
 
     <dependencies>
diff --git a/mailbox/zoo-seq-provider/pom.xml b/mailbox/zoo-seq-provider/pom.xml
index b7a4848..b9ec996 100644
--- a/mailbox/zoo-seq-provider/pom.xml
+++ b/mailbox/zoo-seq-provider/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>zookeeper-sequence-provider</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
     <name>Apache James :: Mailbox :: Zookeeper Sequence Provider</name>
     <description>High performance distribuited sequence provider based on ZooKeepr</description>
 
diff --git a/mailet/ai/pom.xml b/mailet/ai/pom.xml
index 4b3b95d..12f99a4 100644
--- a/mailet/ai/pom.xml
+++ b/mailet/ai/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>apache-mailet-ai</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: AI Mailets</name>
     <description>Collects mail processors making use of artificial intelligence (AI) methods.</description>
diff --git a/mailet/api/pom.xml b/mailet/api/pom.xml
index 6f0fbe3..8b34286 100644
--- a/mailet/api/pom.xml
+++ b/mailet/api/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>apache-mailet-api</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Mailet API</name>
     <description>The Apache Mailet API is a flexible specification for mail processing agents.</description>
diff --git a/mailet/base/pom.xml b/mailet/base/pom.xml
index 1501426..70a6e5e 100644
--- a/mailet/base/pom.xml
+++ b/mailet/base/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>apache-mailet-base</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Basic Mailet Toolkit</name>
     <description>Apache James Basic Mailet Toolkit is a collection of utilities and lightweight framework
@@ -123,16 +123,6 @@
     <build>
         <plugins>
             <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-                <configuration>
-                    <instructions>
-                        <Export-Package>org.apache.mailet.base.*</Export-Package>
-                    </instructions>
-                </configuration>
-            </plugin>
-            <plugin>
                 <groupId>${james.groupId}</groupId>
                 <artifactId>maven-mailetdocs-plugin</artifactId>
             </plugin>
diff --git a/mailet/crypto/pom.xml b/mailet/crypto/pom.xml
index 8c0a75d..f473040 100644
--- a/mailet/crypto/pom.xml
+++ b/mailet/crypto/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>apache-mailet-crypto</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Crypto Mailets</name>
     <description>Apache James Cryptographic Mailets is a collection of mailets which use cryptography.
@@ -67,15 +67,6 @@
     <build>
         <plugins>
             <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <configuration>
-                    <instructions>
-                        <Export-Package>org.apache.james.mailet.crypto.*</Export-Package>
-                    </instructions>
-                </configuration>
-            </plugin>
-            <plugin>
                 <groupId>${james.groupId}</groupId>
                 <artifactId>maven-mailetdocs-plugin</artifactId>
             </plugin>
diff --git a/mailet/pom.xml b/mailet/pom.xml
index bf0b8af..e34f290 100644
--- a/mailet/pom.xml
+++ b/mailet/pom.xml
@@ -76,11 +76,6 @@
         </pluginManagement>
         <plugins>
             <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-            <plugin>
                 <groupId>org.apache.rat</groupId>
                 <artifactId>apache-rat-plugin</artifactId>
                 <inherited>true</inherited>
diff --git a/mailet/standard/pom.xml b/mailet/standard/pom.xml
index c541163..715a45d 100644
--- a/mailet/standard/pom.xml
+++ b/mailet/standard/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>apache-mailet-standard</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Standard Mailets</name>
     <description>Apache James Standard Mailets is a rich collection of general purpose mailets
diff --git a/mailet/test/pom.xml b/mailet/test/pom.xml
index 2331907..de263a3 100644
--- a/mailet/test/pom.xml
+++ b/mailet/test/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>apache-mailet-test</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Test helpers for Mailet</name>
     <description>Apache James Mailet Test is a collection of utilities to help testing mailets.</description>
@@ -125,16 +125,6 @@
     <build>
         <plugins>
             <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-                <configuration>
-                    <instructions>
-                        <Export-Package>org.apache.mailet.base.*</Export-Package>
-                    </instructions>
-                </configuration>
-            </plugin>
-            <plugin>
                 <groupId>${james.groupId}</groupId>
                 <artifactId>maven-mailetdocs-plugin</artifactId>
             </plugin>
diff --git a/mpt/antlib/pom.xml b/mpt/antlib/pom.xml
index 819918d..0a4ab9a 100644
--- a/mpt/antlib/pom.xml
+++ b/mpt/antlib/pom.xml
@@ -131,6 +131,7 @@ to the library requiring no extra coding.</description>
             <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
+                <version>${felix.plugin.version}</version>
                 <extensions>true</extensions>
                 <configuration>
                     <instructions>
diff --git a/mpt/core/pom.xml b/mpt/core/pom.xml
index 31e2c0f..9488edd 100644
--- a/mpt/core/pom.xml
+++ b/mpt/core/pom.xml
@@ -109,6 +109,7 @@
             <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
+                <version>${felix.plugin.version}</version>
                 <extensions>true</extensions>
                 <configuration>
                     <instructions>
diff --git a/mpt/mavenplugin/pom.xml b/mpt/mavenplugin/pom.xml
index 8ec67c4..8d74542 100644
--- a/mpt/mavenplugin/pom.xml
+++ b/mpt/mavenplugin/pom.xml
@@ -87,29 +87,6 @@ to the library requiring no extra coding.</description>
                     -->
                 </configuration>
             </plugin>
-            <!--
-                <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>1.4.3</version>
-                <executions>
-                <execution>
-                <id>bundle-manifest</id>
-                <phase>process-classes</phase>
-                <goals>
-                <goal>manifest</goal>
-                </goals>
-                </execution>
-                </executions>
-                <extensions>true</extensions>
-                <configuration>
-                <instructions>
-                <Export-Package>org.apache.james.mpt.maven</Export-Package>
-                <Embed-Dependency>*;scope=runtime</Embed-Dependency>
-                </instructions>
-                </configuration>
-                </plugin>
-            -->
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-javadoc-plugin</artifactId>
diff --git a/mpt/pom.xml b/mpt/pom.xml
index 49f5d13..f9d4511 100644
--- a/mpt/pom.xml
+++ b/mpt/pom.xml
@@ -52,6 +52,7 @@
     </issueManagement>
 
     <properties>
+        <felix.plugin.version>3.3.0</felix.plugin.version>
         <commons-lang.version>2.6</commons-lang.version>
         <derby.version>10.14.2.0</derby.version>
         <guice.version>4.0</guice.version>
diff --git a/pom.xml b/pom.xml
index babfb69..762f9fd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -614,7 +614,6 @@
         <org.osgi.core.version>5.0.0</org.osgi.core.version>
         <cucumber.version>2.4.0</cucumber.version>
 
-        <felix.version>4.0.3</felix.version>
         <pax-logging-api.version>1.6.4</pax-logging-api.version>
         <jackson.version>2.9.9</jackson.version>
         <feign.version>10.3.0</feign.version>
@@ -2256,11 +2255,6 @@
                 <version>1.0.3</version>
             </dependency>
             <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.framework</artifactId>
-                <version>${felix.version}</version>
-            </dependency>
-            <dependency>
                 <groupId>org.apache.httpcomponents</groupId>
                 <artifactId>httpclient-osgi</artifactId>
                 <version>${apache.httpcomponents.version}</version>
@@ -2681,12 +2675,6 @@
                     </configuration>
                 </plugin>
                 <plugin>
-                    <groupId>org.apache.felix</groupId>
-                    <artifactId>maven-bundle-plugin</artifactId>
-                    <version>3.3.0</version>
-                    <extensions>true</extensions>
-                </plugin>
-                <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-antrun-plugin</artifactId>
                     <version>1.8</version>
@@ -3095,19 +3083,6 @@
                                         <ignore />
                                     </action>
                                 </pluginExecution>
-                                <pluginExecution>
-                                    <pluginExecutionFilter>
-                                        <groupId>org.apache.felix</groupId>
-                                        <artifactId>maven-bundle-plugin</artifactId>
-                                        <versionRange>[2.3.4,)</versionRange>
-                                        <goals>
-                                            <goal>manifest</goal>
-                                        </goals>
-                                    </pluginExecutionFilter>
-                                    <action>
-                                        <ignore />
-                                    </action>
-                                </pluginExecution>
                             </pluginExecutions>
                         </lifecycleMappingMetadata>
                     </configuration>
diff --git a/protocols/api/pom.xml b/protocols/api/pom.xml
index 7f70336..36c031f 100644
--- a/protocols/api/pom.xml
+++ b/protocols/api/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>protocols-api</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Protocols :: API</name>
 
diff --git a/protocols/imap/pom.xml b/protocols/imap/pom.xml
index 8ba931e..89cb165 100644
--- a/protocols/imap/pom.xml
+++ b/protocols/imap/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>protocols-imap</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Protocols :: IMAP</name>
 
diff --git a/protocols/lmtp/pom.xml b/protocols/lmtp/pom.xml
index 492a25f..b418dcf 100644
--- a/protocols/lmtp/pom.xml
+++ b/protocols/lmtp/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>protocols-lmtp</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Protocols :: LMTP</name>
 
diff --git a/protocols/managesieve/pom.xml b/protocols/managesieve/pom.xml
index af8adf7..738b17d 100644
--- a/protocols/managesieve/pom.xml
+++ b/protocols/managesieve/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>protocols-managesieve</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Protocols :: ManageSieve</name>
 
diff --git a/protocols/netty/pom.xml b/protocols/netty/pom.xml
index ac7f4b3..47de473 100644
--- a/protocols/netty/pom.xml
+++ b/protocols/netty/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>protocols-netty</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Protocols :: Netty Implementation</name>
 
diff --git a/protocols/pom.xml b/protocols/pom.xml
index 13591ad..a45b098 100644
--- a/protocols/pom.xml
+++ b/protocols/pom.xml
@@ -45,14 +45,4 @@
         <module>smtp</module>
     </modules>
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/protocols/pop3/pom.xml b/protocols/pop3/pom.xml
index 90bfb3c..5b3fc8e 100644
--- a/protocols/pop3/pom.xml
+++ b/protocols/pop3/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>protocols-pop3</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Protocols :: POP3</name>
 
diff --git a/protocols/smtp/pom.xml b/protocols/smtp/pom.xml
index a997e2b..ca72715 100644
--- a/protocols/smtp/pom.xml
+++ b/protocols/smtp/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>protocols-smtp</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Protocols :: SMTP</name>
 
diff --git a/server/app/pom.xml b/server/app/pom.xml
index 72c537e..b783991 100644
--- a/server/app/pom.xml
+++ b/server/app/pom.xml
@@ -29,7 +29,7 @@
     </parent>
 
     <artifactId>james-server-app</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: App</name>
     <description>An advanced email server / Spring version</description>
@@ -495,11 +495,6 @@
     <build>
         <plugins>
             <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-            <plugin>
                 <groupId>org.codehaus.mojo</groupId>
                 <artifactId>appassembler-maven-plugin</artifactId>
                 <version>2.0.0</version>
diff --git a/server/container/cli-integration/pom.xml b/server/container/cli-integration/pom.xml
index 7f64b2f..9b59d42 100644
--- a/server/container/cli-integration/pom.xml
+++ b/server/container/cli-integration/pom.xml
@@ -90,14 +90,4 @@
             <artifactId>mockito-core</artifactId>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/container/cli/pom.xml b/server/container/cli/pom.xml
index 4a8636e..10c9bfc 100644
--- a/server/container/cli/pom.xml
+++ b/server/container/cli/pom.xml
@@ -92,11 +92,6 @@
                 </executions>
             </plugin>
             <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-            <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-dependency-plugin</artifactId>
                 <executions>
diff --git a/server/container/core/pom.xml b/server/container/core/pom.xml
index 90734f8..0524c52 100644
--- a/server/container/core/pom.xml
+++ b/server/container/core/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-core</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: Core</name>
 
@@ -133,11 +133,6 @@
     <build>
         <plugins>
             <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-            <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-plugin</artifactId>
                 <configuration>
diff --git a/server/container/filesystem-api/pom.xml b/server/container/filesystem-api/pom.xml
index 831c87c..ac80dc0 100644
--- a/server/container/filesystem-api/pom.xml
+++ b/server/container/filesystem-api/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-filesystem-api</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: Filesystem API</name>
 
@@ -76,11 +76,6 @@
                     </execution>
                 </executions>
             </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
         </plugins>
     </build>
 
diff --git a/server/container/guice/cassandra-guice/pom.xml b/server/container/guice/cassandra-guice/pom.xml
index b2b03ef..90c823b 100644
--- a/server/container/guice/cassandra-guice/pom.xml
+++ b/server/container/guice/cassandra-guice/pom.xml
@@ -345,11 +345,6 @@
     <build>
         <plugins>
             <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-            <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-dependency-plugin</artifactId>
                 <executions>
diff --git a/server/container/guice/cassandra-ldap-guice/pom.xml b/server/container/guice/cassandra-ldap-guice/pom.xml
index baca2cc..55a29ee 100644
--- a/server/container/guice/cassandra-ldap-guice/pom.xml
+++ b/server/container/guice/cassandra-ldap-guice/pom.xml
@@ -184,11 +184,6 @@
                     </execution>
                 </executions>
             </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
         </plugins>
     </build>
 
diff --git a/server/container/guice/cassandra-rabbitmq-guice/pom.xml b/server/container/guice/cassandra-rabbitmq-guice/pom.xml
index b089391..043cb73 100644
--- a/server/container/guice/cassandra-rabbitmq-guice/pom.xml
+++ b/server/container/guice/cassandra-rabbitmq-guice/pom.xml
@@ -190,11 +190,6 @@
     <build>
         <plugins>
             <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-            <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-dependency-plugin</artifactId>
                 <executions>
diff --git a/server/container/guice/cassandra-rabbitmq-ldap-guice/pom.xml b/server/container/guice/cassandra-rabbitmq-ldap-guice/pom.xml
index e038f94..22f01e2 100644
--- a/server/container/guice/cassandra-rabbitmq-ldap-guice/pom.xml
+++ b/server/container/guice/cassandra-rabbitmq-ldap-guice/pom.xml
@@ -125,11 +125,6 @@
     <build>
         <plugins>
             <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-            <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-dependency-plugin</artifactId>
                 <executions>
diff --git a/server/container/guice/configuration/pom.xml b/server/container/guice/configuration/pom.xml
index ac09511..5faf426 100644
--- a/server/container/guice/configuration/pom.xml
+++ b/server/container/guice/configuration/pom.xml
@@ -59,15 +59,4 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/container/guice/guice-common/pom.xml b/server/container/guice/guice-common/pom.xml
index 685085b..010480d 100644
--- a/server/container/guice/guice-common/pom.xml
+++ b/server/container/guice/guice-common/pom.xml
@@ -199,15 +199,4 @@
             <artifactId>slf4j-api</artifactId>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/container/guice/jmx/pom.xml b/server/container/guice/jmx/pom.xml
index 2d3df1b..dddbffe 100644
--- a/server/container/guice/jmx/pom.xml
+++ b/server/container/guice/jmx/pom.xml
@@ -109,15 +109,4 @@
             <artifactId>slf4j-api</artifactId>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/container/guice/jpa-common-guice/pom.xml b/server/container/guice/jpa-common-guice/pom.xml
index 5372b1e..ff210e0 100644
--- a/server/container/guice/jpa-common-guice/pom.xml
+++ b/server/container/guice/jpa-common-guice/pom.xml
@@ -62,15 +62,4 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/container/guice/jpa-guice/pom.xml b/server/container/guice/jpa-guice/pom.xml
index 37dcf60..5e6ea7b 100644
--- a/server/container/guice/jpa-guice/pom.xml
+++ b/server/container/guice/jpa-guice/pom.xml
@@ -232,11 +232,6 @@
                     </execution>
                 </executions>
             </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
         </plugins>
     </build>
 
diff --git a/server/container/guice/jpa-smtp-mariadb/pom.xml b/server/container/guice/jpa-smtp-mariadb/pom.xml
index ffb9af6..5064220 100644
--- a/server/container/guice/jpa-smtp-mariadb/pom.xml
+++ b/server/container/guice/jpa-smtp-mariadb/pom.xml
@@ -124,11 +124,6 @@
                     </execution>
                 </executions>
             </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
         </plugins>
     </build>
 
diff --git a/server/container/guice/jpa-smtp/pom.xml b/server/container/guice/jpa-smtp/pom.xml
index 1d1133b..114a94c 100644
--- a/server/container/guice/jpa-smtp/pom.xml
+++ b/server/container/guice/jpa-smtp/pom.xml
@@ -157,11 +157,6 @@
                     </execution>
                 </executions>
             </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
         </plugins>
     </build>
 
diff --git a/server/container/guice/mailbox/pom.xml b/server/container/guice/mailbox/pom.xml
index 4897f64..22d7be9 100644
--- a/server/container/guice/mailbox/pom.xml
+++ b/server/container/guice/mailbox/pom.xml
@@ -81,15 +81,4 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/container/guice/mailet/pom.xml b/server/container/guice/mailet/pom.xml
index 4cd2a76..f14b200 100644
--- a/server/container/guice/mailet/pom.xml
+++ b/server/container/guice/mailet/pom.xml
@@ -99,15 +99,4 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/container/guice/memory-guice/pom.xml b/server/container/guice/memory-guice/pom.xml
index 057a9b6..d31bc45 100644
--- a/server/container/guice/memory-guice/pom.xml
+++ b/server/container/guice/memory-guice/pom.xml
@@ -224,12 +224,6 @@
     <build>
         <plugins>
             <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-
-            <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-dependency-plugin</artifactId>
                 <executions>
diff --git a/server/container/guice/onami/pom.xml b/server/container/guice/onami/pom.xml
index 3a5e0a7..d6d4639 100644
--- a/server/container/guice/onami/pom.xml
+++ b/server/container/guice/onami/pom.xml
@@ -53,15 +53,4 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/container/guice/protocols/imap/pom.xml b/server/container/guice/protocols/imap/pom.xml
index 090928d..c791f52 100644
--- a/server/container/guice/protocols/imap/pom.xml
+++ b/server/container/guice/protocols/imap/pom.xml
@@ -53,15 +53,4 @@
             <artifactId>guice-multibindings</artifactId>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/container/guice/protocols/jmap/pom.xml b/server/container/guice/protocols/jmap/pom.xml
index eff914c..8de06ab 100644
--- a/server/container/guice/protocols/jmap/pom.xml
+++ b/server/container/guice/protocols/jmap/pom.xml
@@ -100,15 +100,4 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/container/guice/protocols/lmtp/pom.xml b/server/container/guice/protocols/lmtp/pom.xml
index 1ff07e9..664f8b9 100644
--- a/server/container/guice/protocols/lmtp/pom.xml
+++ b/server/container/guice/protocols/lmtp/pom.xml
@@ -49,15 +49,4 @@
             <artifactId>guice-multibindings</artifactId>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/container/guice/protocols/managedsieve/pom.xml b/server/container/guice/protocols/managedsieve/pom.xml
index 2360794..db7b2d8 100644
--- a/server/container/guice/protocols/managedsieve/pom.xml
+++ b/server/container/guice/protocols/managedsieve/pom.xml
@@ -57,15 +57,4 @@
             <artifactId>protocols-managesieve</artifactId>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/container/guice/protocols/netty/pom.xml b/server/container/guice/protocols/netty/pom.xml
index 4c652b3..e422dc6 100644
--- a/server/container/guice/protocols/netty/pom.xml
+++ b/server/container/guice/protocols/netty/pom.xml
@@ -49,15 +49,4 @@
             <artifactId>guice-multibindings</artifactId>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/container/guice/protocols/pop/pom.xml b/server/container/guice/protocols/pop/pom.xml
index 1530db4..4448604 100644
--- a/server/container/guice/protocols/pop/pom.xml
+++ b/server/container/guice/protocols/pop/pom.xml
@@ -49,15 +49,4 @@
             <artifactId>guice-multibindings</artifactId>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/container/guice/protocols/smtp/pom.xml b/server/container/guice/protocols/smtp/pom.xml
index 105cc20..f165044 100644
--- a/server/container/guice/protocols/smtp/pom.xml
+++ b/server/container/guice/protocols/smtp/pom.xml
@@ -49,15 +49,4 @@
             <artifactId>guice-multibindings</artifactId>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/container/guice/protocols/webadmin-cassandra/pom.xml b/server/container/guice/protocols/webadmin-cassandra/pom.xml
index f35bfbb..2ec9dd4 100644
--- a/server/container/guice/protocols/webadmin-cassandra/pom.xml
+++ b/server/container/guice/protocols/webadmin-cassandra/pom.xml
@@ -53,15 +53,4 @@
             <artifactId>guice-multibindings</artifactId>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/container/guice/protocols/webadmin-data/pom.xml b/server/container/guice/protocols/webadmin-data/pom.xml
index f37f23b..f58cb69 100644
--- a/server/container/guice/protocols/webadmin-data/pom.xml
+++ b/server/container/guice/protocols/webadmin-data/pom.xml
@@ -53,15 +53,4 @@
             <artifactId>guice-multibindings</artifactId>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/container/guice/protocols/webadmin-mailbox/pom.xml b/server/container/guice/protocols/webadmin-mailbox/pom.xml
index dce475b..b723daa 100644
--- a/server/container/guice/protocols/webadmin-mailbox/pom.xml
+++ b/server/container/guice/protocols/webadmin-mailbox/pom.xml
@@ -53,15 +53,4 @@
             <artifactId>guice-multibindings</artifactId>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/container/guice/protocols/webadmin-mailqueue/pom.xml b/server/container/guice/protocols/webadmin-mailqueue/pom.xml
index cfde159..9c631c2 100644
--- a/server/container/guice/protocols/webadmin-mailqueue/pom.xml
+++ b/server/container/guice/protocols/webadmin-mailqueue/pom.xml
@@ -55,15 +55,4 @@
             <artifactId>guice-multibindings</artifactId>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/container/guice/protocols/webadmin-mailrepository/pom.xml b/server/container/guice/protocols/webadmin-mailrepository/pom.xml
index 59b1f45..99e26ad 100644
--- a/server/container/guice/protocols/webadmin-mailrepository/pom.xml
+++ b/server/container/guice/protocols/webadmin-mailrepository/pom.xml
@@ -55,15 +55,4 @@
             <artifactId>guice-multibindings</artifactId>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
\ No newline at end of file
diff --git a/server/container/guice/protocols/webadmin-swagger/pom.xml b/server/container/guice/protocols/webadmin-swagger/pom.xml
index 8713b6f..5862782 100644
--- a/server/container/guice/protocols/webadmin-swagger/pom.xml
+++ b/server/container/guice/protocols/webadmin-swagger/pom.xml
@@ -53,15 +53,4 @@
             <artifactId>guice-multibindings</artifactId>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/container/guice/protocols/webadmin/pom.xml b/server/container/guice/protocols/webadmin/pom.xml
index 75c184d..411eb10 100644
--- a/server/container/guice/protocols/webadmin/pom.xml
+++ b/server/container/guice/protocols/webadmin/pom.xml
@@ -49,15 +49,4 @@
             <artifactId>guice-multibindings</artifactId>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/container/lifecycle-api/pom.xml b/server/container/lifecycle-api/pom.xml
index 831bdc5..48fbbff 100644
--- a/server/container/lifecycle-api/pom.xml
+++ b/server/container/lifecycle-api/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-lifecycle-api</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: Lifecycle API</name>
 
@@ -68,15 +68,4 @@
             <artifactId>slf4j-log4j12</artifactId>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/container/mailbox-adapter/pom.xml b/server/container/mailbox-adapter/pom.xml
index c879f30..a9ca4e9 100644
--- a/server/container/mailbox-adapter/pom.xml
+++ b/server/container/mailbox-adapter/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-mailbox-adapter</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: Mailbox Adapter</name>
 
@@ -88,14 +88,4 @@
         </dependency>
     </dependencies>
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/container/mailbox-jmx/pom.xml b/server/container/mailbox-jmx/pom.xml
index 83b0291..69f36c7 100644
--- a/server/container/mailbox-jmx/pom.xml
+++ b/server/container/mailbox-jmx/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-mailbox-jmx</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: Mailbox :: JMX</name>
 
@@ -89,15 +89,4 @@
             <artifactId>slf4j-api</artifactId>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/container/metrics/metrics-es-reporter/pom.xml b/server/container/metrics/metrics-es-reporter/pom.xml
index 05cd9d7..056a67f 100644
--- a/server/container/metrics/metrics-es-reporter/pom.xml
+++ b/server/container/metrics/metrics-es-reporter/pom.xml
@@ -110,13 +110,4 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-            </plugin>
-        </plugins>
-    </build>
 </project>
diff --git a/server/container/spring/pom.xml b/server/container/spring/pom.xml
index ad42534..86fe8ef 100644
--- a/server/container/spring/pom.xml
+++ b/server/container/spring/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-spring</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: Container Spring</name>
 
@@ -203,10 +203,6 @@
     <build>
         <plugins>
             <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-            </plugin>
-            <plugin>
                 <groupId>org.codehaus.mojo</groupId>
                 <artifactId>animal-sniffer-maven-plugin</artifactId>
                 <executions>
diff --git a/server/container/util/pom.xml b/server/container/util/pom.xml
index e14c5f1..1c8e1b0 100644
--- a/server/container/util/pom.xml
+++ b/server/container/util/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-util</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: Common Utilities</name>
 
@@ -125,13 +125,4 @@
         </dependency>
     </dependencies>
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/data/data-api/pom.xml b/server/data/data-api/pom.xml
index 7cc10b0..0fbacf0 100644
--- a/server/data/data-api/pom.xml
+++ b/server/data/data-api/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-data-api</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: Data  :: API</name>
 
@@ -93,11 +93,6 @@
                     </execution>
                 </executions>
             </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
         </plugins>
     </build>
 </project>
diff --git a/server/data/data-cassandra/pom.xml b/server/data/data-cassandra/pom.xml
index f8cd585..1077ae6 100644
--- a/server/data/data-cassandra/pom.xml
+++ b/server/data/data-cassandra/pom.xml
@@ -164,10 +164,6 @@
     <build>
         <plugins>
             <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-            </plugin>
-            <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-plugin</artifactId>
                 <configuration>
diff --git a/server/data/data-file/pom.xml b/server/data/data-file/pom.xml
index 93161b7..9df1ea5 100644
--- a/server/data/data-file/pom.xml
+++ b/server/data/data-file/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-data-file</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: Data :: File Persistence</name>
 
@@ -162,11 +162,6 @@
     <build>
         <plugins>
             <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-            <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-plugin</artifactId>
                 <configuration>
diff --git a/server/data/data-jdbc/pom.xml b/server/data/data-jdbc/pom.xml
index 71aee61..1efa231 100644
--- a/server/data/data-jdbc/pom.xml
+++ b/server/data/data-jdbc/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-data-jdbc</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: Data :: JDBC Persistence</name>
 
@@ -167,15 +167,4 @@
             <artifactId>slf4j-log4j12</artifactId>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/data/data-jmap-cassandra/pom.xml b/server/data/data-jmap-cassandra/pom.xml
index 8f89606..4f6e371 100644
--- a/server/data/data-jmap-cassandra/pom.xml
+++ b/server/data/data-jmap-cassandra/pom.xml
@@ -121,10 +121,6 @@
     <build>
         <plugins>
             <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-            </plugin>
-            <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-plugin</artifactId>
                 <configuration>
diff --git a/server/data/data-jpa/pom.xml b/server/data/data-jpa/pom.xml
index fa90b54..a545092 100644
--- a/server/data/data-jpa/pom.xml
+++ b/server/data/data-jpa/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-data-jpa</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: Data :: JPA Persistence</name>
 
@@ -191,11 +191,6 @@
                 </executions>
             </plugin>
             <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-            <plugin>
                 <groupId>org.codehaus.mojo</groupId>
                 <artifactId>animal-sniffer-maven-plugin</artifactId>
                 <executions>
diff --git a/server/data/data-ldap/pom.xml b/server/data/data-ldap/pom.xml
index f515cc4..2dea0f4 100644
--- a/server/data/data-ldap/pom.xml
+++ b/server/data/data-ldap/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-data-ldap</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: Data :: LDAP Implementation</name>
 
@@ -107,15 +107,4 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/data/data-library/pom.xml b/server/data/data-library/pom.xml
index 90df7d4..de0ba47 100644
--- a/server/data/data-library/pom.xml
+++ b/server/data/data-library/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-data-library</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: Data :: Library</name>
 
@@ -164,11 +164,6 @@
                     </execution>
                 </executions>
             </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
         </plugins>
     </build>
 
diff --git a/server/data/data-memory/pom.xml b/server/data/data-memory/pom.xml
index da9fbd3..3869cc7 100644
--- a/server/data/data-memory/pom.xml
+++ b/server/data/data-memory/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-data-memory</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: Data  :: MEMORY</name>
 
@@ -128,11 +128,6 @@
                     </execution>
                 </executions>
             </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
         </plugins>
     </build>
 </project>
diff --git a/server/dns-service/dnsservice-api/pom.xml b/server/dns-service/dnsservice-api/pom.xml
index ee56a4d..f5fd3d7 100644
--- a/server/dns-service/dnsservice-api/pom.xml
+++ b/server/dns-service/dnsservice-api/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-dnsservice-api</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: DNS Service :: API</name>
 
@@ -63,11 +63,6 @@
                     </execution>
                 </executions>
             </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
         </plugins>
     </build>
 
diff --git a/server/dns-service/dnsservice-dnsjava/pom.xml b/server/dns-service/dnsservice-dnsjava/pom.xml
index 83aa0e7..9d42319 100644
--- a/server/dns-service/dnsservice-dnsjava/pom.xml
+++ b/server/dns-service/dnsservice-dnsjava/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-dnsservice-dnsjava</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: DNS Service :: Implementation</name>
 
@@ -104,14 +104,4 @@
         </dependency>
     </dependencies>
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/dns-service/dnsservice-library/pom.xml b/server/dns-service/dnsservice-library/pom.xml
index d3eab2b..5d99a27 100644
--- a/server/dns-service/dnsservice-library/pom.xml
+++ b/server/dns-service/dnsservice-library/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-dnsservice-library</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: DNS Service :: Library</name>
 
@@ -70,14 +70,4 @@
         </dependency>
     </dependencies>
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/dns-service/dnsservice-test/pom.xml b/server/dns-service/dnsservice-test/pom.xml
index 76f22a5..ac00863 100644
--- a/server/dns-service/dnsservice-test/pom.xml
+++ b/server/dns-service/dnsservice-test/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-dnsservice-test</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: DNS Service :: Test</name>
 
@@ -65,11 +65,6 @@
                     </execution>
                 </executions>
             </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
         </plugins>
     </build>
 
diff --git a/server/karaf/integration/pom.xml b/server/karaf/integration/pom.xml
index b4bf057..a8e0819 100644
--- a/server/karaf/integration/pom.xml
+++ b/server/karaf/integration/pom.xml
@@ -18,6 +18,7 @@
         <karaf.tooling.exam.container.version>2.3.0</karaf.tooling.exam.container.version>
         <pax-swissbox-tinybundles.version>1.3.1</pax-swissbox-tinybundles.version>
         <url.version>1.4.0</url.version>
+        <felix.version>4.0.3</felix.version>
     </properties>
 
     <dependencies>
@@ -34,6 +35,7 @@
         <dependency>
             <groupId>org.apache.felix</groupId>
             <artifactId>org.apache.felix.framework</artifactId>
+            <version>${felix.version}</version>
             <scope>test</scope>
         </dependency>
 
diff --git a/server/mailet/integration-testing/pom.xml b/server/mailet/integration-testing/pom.xml
index aa73971..13d3c06 100644
--- a/server/mailet/integration-testing/pom.xml
+++ b/server/mailet/integration-testing/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-mailets-integration-testing</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: Mailets Integration Testing</name>
 
diff --git a/server/mailet/mailetcontainer-api/pom.xml b/server/mailet/mailetcontainer-api/pom.xml
index 5e1d75a..326e3ac 100644
--- a/server/mailet/mailetcontainer-api/pom.xml
+++ b/server/mailet/mailetcontainer-api/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-mailetcontainer-api</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: Mailetcontainer API</name>
 
@@ -56,11 +56,6 @@
                     </execution>
                 </executions>
             </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
         </plugins>
     </build>
 
diff --git a/server/mailet/mailetcontainer-camel/pom.xml b/server/mailet/mailetcontainer-camel/pom.xml
index b0ff16a..a057bf4 100644
--- a/server/mailet/mailetcontainer-camel/pom.xml
+++ b/server/mailet/mailetcontainer-camel/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-mailetcontainer-camel</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: Mailetcontainer Camel</name>
 
@@ -189,13 +189,4 @@
         </dependency>
     </dependencies>
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/mailet/mailets/pom.xml b/server/mailet/mailets/pom.xml
index cb82e3b..ae022c0 100644
--- a/server/mailet/mailets/pom.xml
+++ b/server/mailet/mailets/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-mailets</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: Mailets</name>
 
@@ -292,10 +292,6 @@
                 </configuration>
             </plugin>
             <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-            </plugin>
-            <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-plugin</artifactId>
                 <configuration>
diff --git a/server/mailrepository/mailrepository-api/pom.xml b/server/mailrepository/mailrepository-api/pom.xml
index ef3c13e..12dab15 100644
--- a/server/mailrepository/mailrepository-api/pom.xml
+++ b/server/mailrepository/mailrepository-api/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-mailrepository-api</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: MailRepository :: API</name>
 
@@ -88,11 +88,6 @@
                     </execution>
                 </executions>
             </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
         </plugins>
     </build>
 </project>
diff --git a/server/mailrepository/mailrepository-cassandra/pom.xml b/server/mailrepository/mailrepository-cassandra/pom.xml
index 9dc8fd1..a507bc5 100644
--- a/server/mailrepository/mailrepository-cassandra/pom.xml
+++ b/server/mailrepository/mailrepository-cassandra/pom.xml
@@ -113,11 +113,6 @@
                 </executions>
             </plugin>
             <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-            <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-plugin</artifactId>
                 <configuration>
diff --git a/server/mailrepository/mailrepository-memory/pom.xml b/server/mailrepository/mailrepository-memory/pom.xml
index b061512..71b5a8d 100644
--- a/server/mailrepository/mailrepository-memory/pom.xml
+++ b/server/mailrepository/mailrepository-memory/pom.xml
@@ -77,11 +77,6 @@
                     </execution>
                 </executions>
             </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
         </plugins>
     </build>
 </project>
diff --git a/server/pom.xml b/server/pom.xml
index f7e6aaf..6447abd 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -140,25 +140,6 @@
                 </plugin>
             </plugins>
         </pluginManagement>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>versions-maven-plugin</artifactId>
-            </plugin>
-            <plugin>
-                <artifactId>maven-release-plugin</artifactId>
-                <configuration>
-                    <!-- During release:perform, enable the "release" profile -->
-                    <releaseProfiles>with-assembly</releaseProfiles>
-                    <goals>deploy assembly:single</goals>
-                </configuration>
-            </plugin>
-        </plugins>
     </build>
 
 </project>
diff --git a/server/protocols/fetchmail/pom.xml b/server/protocols/fetchmail/pom.xml
index c02d3f2..6391af7 100644
--- a/server/protocols/fetchmail/pom.xml
+++ b/server/protocols/fetchmail/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-fetchmail</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: FetchMail</name>
 
@@ -91,14 +91,4 @@
         </dependency>
     </dependencies>
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/protocols/protocols-imap4/pom.xml b/server/protocols/protocols-imap4/pom.xml
index 4decc91..b3535fd 100644
--- a/server/protocols/protocols-imap4/pom.xml
+++ b/server/protocols/protocols-imap4/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-protocols-imap4</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: IMAP</name>
 
@@ -107,13 +107,4 @@
         </dependency>
     </dependencies>
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/protocols/protocols-library/pom.xml b/server/protocols/protocols-library/pom.xml
index ac7b806..905252c 100644
--- a/server/protocols/protocols-library/pom.xml
+++ b/server/protocols/protocols-library/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-protocols-library</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: Protocols Library</name>
 
@@ -107,10 +107,6 @@
                     </execution>
                 </executions>
             </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-            </plugin>
         </plugins>
     </build>
 
diff --git a/server/protocols/protocols-lmtp/pom.xml b/server/protocols/protocols-lmtp/pom.xml
index ab6288b..248f726 100644
--- a/server/protocols/protocols-lmtp/pom.xml
+++ b/server/protocols/protocols-lmtp/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-protocols-lmtp</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: LMTP</name>
 
@@ -129,13 +129,4 @@
         </dependency>
     </dependencies>
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/protocols/protocols-pop3/pom.xml b/server/protocols/protocols-pop3/pom.xml
index 60e244f..ed168ba 100644
--- a/server/protocols/protocols-pop3/pom.xml
+++ b/server/protocols/protocols-pop3/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-protocols-pop3</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: POP3</name>
 
@@ -166,13 +166,4 @@
         </dependency>
     </dependencies>
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/protocols/protocols-smtp/pom.xml b/server/protocols/protocols-smtp/pom.xml
index 784fd1d..d244dc5 100644
--- a/server/protocols/protocols-smtp/pom.xml
+++ b/server/protocols/protocols-smtp/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-protocols-smtp</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: SMTP</name>
 
@@ -240,13 +240,4 @@
         </dependency>
     </dependencies>
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/queue/queue-activemq/pom.xml b/server/queue/queue-activemq/pom.xml
index dc18ce1..1a40d62 100644
--- a/server/queue/queue-activemq/pom.xml
+++ b/server/queue/queue-activemq/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-queue-activemq</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: Mail Queue :: ActiveMQ</name>
 
@@ -157,14 +157,4 @@
         </dependency>
     </dependencies>
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
diff --git a/server/queue/queue-api/pom.xml b/server/queue/queue-api/pom.xml
index c1fdf43..c579497 100644
--- a/server/queue/queue-api/pom.xml
+++ b/server/queue/queue-api/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-queue-api</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: Mail Queue :: API</name>
 
@@ -120,10 +120,6 @@
                     </execution>
                 </executions>
             </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-            </plugin>
         </plugins>
     </build>
 
diff --git a/server/queue/queue-file/pom.xml b/server/queue/queue-file/pom.xml
index 338ee73..989fc66 100644
--- a/server/queue/queue-file/pom.xml
+++ b/server/queue/queue-file/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-queue-file</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: Mail Queue :: File</name>
 
@@ -110,10 +110,6 @@
     <build>
         <plugins>
             <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-            </plugin>
-            <plugin>
                 <groupId>org.codehaus.mojo</groupId>
                 <artifactId>animal-sniffer-maven-plugin</artifactId>
                 <executions>
diff --git a/server/queue/queue-jms/pom.xml b/server/queue/queue-jms/pom.xml
index d006c59..f799cab 100644
--- a/server/queue/queue-jms/pom.xml
+++ b/server/queue/queue-jms/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-queue-jms</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: Mail Queue :: JMS</name>
 
@@ -159,13 +159,4 @@
             <artifactId>threeten-extra</artifactId>
         </dependency>
     </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-            </plugin>
-        </plugins>
-    </build>
 </project>
diff --git a/server/queue/queue-rabbitmq/pom.xml b/server/queue/queue-rabbitmq/pom.xml
index 90e297e..d4b6133 100644
--- a/server/queue/queue-rabbitmq/pom.xml
+++ b/server/queue/queue-rabbitmq/pom.xml
@@ -28,7 +28,7 @@
     </parent>
 
     <artifactId>james-server-queue-rabbitmq</artifactId>
-    <packaging>bundle</packaging>
+    <packaging>jar</packaging>
 
     <name>Apache James :: Server :: Mail Queue :: RabbitMQ</name>
 


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[james-project] 10/16: JAMES-2854 ConfigurationPerformer should be bound to a single startable

Posted by bt...@apache.org.
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 7faac284dfda3775fdbf6774b2eb5f59f596a2d7
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Sat Aug 10 12:33:09 2019 +0200

    JAMES-2854 ConfigurationPerformer should be bound to a single startable
    
    Loops are supported by injection framework through stubbing. However, this
    does not play well with the "initialization will follow injection path"
    strategy: some modules might try to init against "not yet initialized" components
    that were stubbed by the init strategy.
    
    The issue here is that multi-components configuration performers adds additional complexity,
    and creates dependencies (init A & B at the same time) that lead to failures
    while modifying some injections.
    
    Saying "1 startable = 1 performer" prevents us from this, and fits our usage.
---
 .../modules/data/CassandraDomainListModule.java    |  8 +--
 .../data/CassandraRecipientRewriteTableModule.java |  8 +--
 .../data/CassandraUsersRepositoryModule.java       |  7 +--
 .../mailbox/ElasticSearchMailboxModule.java        |  7 +--
 .../mailbox/ElasticSearchQuotaSearcherModule.java  |  6 +-
 .../modules/metrics/CassandraMetricsModule.java    |  9 +--
 .../CassandraMessageIdManagerInjectionTest.java    |  9 +--
 .../james/data/LdapUsersRepositoryModule.java      |  7 +--
 .../modules/event/RabbitMQEventBusModule.java      |  7 +--
 .../apache/james/utils/ConfigurationPerformer.java | 10 +--
 .../server/ElasticSearchMetricReporterModule.java  |  7 +--
 .../james/modules/server/DNSServiceModule.java     |  7 +--
 .../modules/server/DropWizardMetricsModule.java    | 35 +++--------
 .../modules/server/MailStoreRepositoryModule.java  |  6 +-
 .../james/utils/ConfigurationsPerformer.java       |  2 +-
 .../james/modules/ConfigurationsPerformerTest.java | 72 ++--------------------
 .../james/modules/server/JMXServerModule.java      |  6 +-
 .../james/modules/data/JPADomainListModule.java    |  8 +--
 .../data/JPARecipientRewriteTableModule.java       |  8 +--
 .../modules/data/JPAUsersRepositoryModule.java     |  8 +--
 .../james/modules/mailbox/DefaultEventModule.java  |  7 +--
 .../modules/server/CamelMailetContainerModule.java | 14 ++---
 .../james/modules/data/MemoryDataModule.java       | 44 +++++++++----
 .../org/apache/james/GuiceJamesServerTest.java     |  7 +--
 .../james/modules/protocols/IMAPServerModule.java  |  7 +--
 .../james/modules/protocols/JMAPServerModule.java  |  7 +--
 .../james/modules/protocols/LMTPServerModule.java  |  7 +--
 .../modules/protocols/ManageSieveServerModule.java |  8 +--
 .../james/modules/protocols/POP3ServerModule.java  |  8 +--
 .../james/modules/protocols/SMTPServerModule.java  |  7 +--
 .../james/modules/server/WebAdminServerModule.java |  7 +--
 31 files changed, 107 insertions(+), 253 deletions(-)

diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDomainListModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDomainListModule.java
index 6361357..6baa548 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDomainListModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDomainListModule.java
@@ -18,8 +18,6 @@
  ****************************************************************/
 package org.apache.james.modules.data;
 
-import java.util.List;
-
 import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.backends.cassandra.components.CassandraModule;
 import org.apache.james.domainlist.api.DomainList;
@@ -29,7 +27,6 @@ import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
 import org.apache.james.utils.ConfigurationPerformer;
 
-import com.google.common.collect.ImmutableList;
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
 import com.google.inject.Provides;
@@ -59,7 +56,6 @@ public class CassandraDomainListModule extends AbstractModule {
     
     @Singleton
     public static class CassandraDomainListConfigurationPerformer implements ConfigurationPerformer {
-
         private final DomainListConfiguration configuration;
         private final CassandraDomainList cassandraDomainList;
 
@@ -79,8 +75,8 @@ public class CassandraDomainListModule extends AbstractModule {
         }
 
         @Override
-        public List<Class<? extends Startable>> forClasses() {
-            return ImmutableList.of(CassandraDomainList.class);
+        public Class<? extends Startable> forClass() {
+            return CassandraDomainList.class;
         }
     }
 }
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraRecipientRewriteTableModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraRecipientRewriteTableModule.java
index f3d009e..e6634d8 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraRecipientRewriteTableModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraRecipientRewriteTableModule.java
@@ -18,8 +18,6 @@
  ****************************************************************/
 package org.apache.james.modules.data;
 
-import java.util.List;
-
 import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.backends.cassandra.components.CassandraModule;
 import org.apache.james.lifecycle.api.Startable;
@@ -31,7 +29,6 @@ import org.apache.james.rrt.cassandra.CassandraRecipientRewriteTableDAO;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
 import org.apache.james.utils.ConfigurationPerformer;
 
-import com.google.common.collect.ImmutableList;
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
 import com.google.inject.Scopes;
@@ -53,7 +50,6 @@ public class CassandraRecipientRewriteTableModule extends AbstractModule {
 
     @Singleton
     public static class CassandraRecipientRewriteTablePerformer implements ConfigurationPerformer {
-
         private final ConfigurationProvider configurationProvider;
         private final CassandraRecipientRewriteTable recipientRewriteTable;
 
@@ -73,8 +69,8 @@ public class CassandraRecipientRewriteTableModule extends AbstractModule {
         }
 
         @Override
-        public List<Class<? extends Startable>> forClasses() {
-            return ImmutableList.of(CassandraRecipientRewriteTable.class);
+        public Class<? extends Startable> forClass() {
+            return CassandraRecipientRewriteTable.class;
         }
     }
 
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraUsersRepositoryModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraUsersRepositoryModule.java
index e6212ab..dd2a488 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraUsersRepositoryModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraUsersRepositoryModule.java
@@ -18,8 +18,6 @@
  ****************************************************************/
 package org.apache.james.modules.data;
 
-import java.util.List;
-
 import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.backends.cassandra.components.CassandraModule;
 import org.apache.james.lifecycle.api.Startable;
@@ -28,7 +26,6 @@ import org.apache.james.user.api.UsersRepository;
 import org.apache.james.user.cassandra.CassandraUsersRepository;
 import org.apache.james.utils.ConfigurationPerformer;
 
-import com.google.common.collect.ImmutableList;
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
 import com.google.inject.Scopes;
@@ -68,8 +65,8 @@ public class CassandraUsersRepositoryModule extends AbstractModule {
         }
 
         @Override
-        public List<Class<? extends Startable>> forClasses() {
-            return ImmutableList.of(CassandraUsersRepository.class);
+        public Class<? extends Startable> forClass() {
+            return CassandraUsersRepository.class;
         }
     }
 
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java
index cfe3392..83358fd 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java
@@ -23,7 +23,6 @@ import static org.apache.james.mailbox.elasticsearch.search.ElasticSearchSearche
 
 import java.io.FileNotFoundException;
 import java.io.IOException;
-import java.util.List;
 
 import javax.inject.Inject;
 import javax.inject.Named;
@@ -53,7 +52,6 @@ import org.elasticsearch.client.RestHighLevelClient;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.collect.ImmutableList;
 import com.google.inject.AbstractModule;
 import com.google.inject.Provides;
 import com.google.inject.Scopes;
@@ -86,7 +84,6 @@ public class ElasticSearchMailboxModule extends AbstractModule {
     }
 
     static class ElasticSearchMailboxIndexCreationPerformer implements ConfigurationPerformer {
-
         private final MailboxIndexCreator mailboxIndexCreator;
 
         @Inject
@@ -104,8 +101,8 @@ public class ElasticSearchMailboxModule extends AbstractModule {
         }
 
         @Override
-        public List<Class<? extends Startable>> forClasses() {
-            return ImmutableList.of(MailboxIndexCreator.class);
+        public Class<? extends Startable> forClass() {
+            return MailboxIndexCreator.class;
         }
     }
 
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchQuotaSearcherModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchQuotaSearcherModule.java
index 1f6934c..b21e73d 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchQuotaSearcherModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchQuotaSearcherModule.java
@@ -23,7 +23,6 @@ import static org.apache.james.modules.mailbox.ElasticSearchMailboxModule.ELASTI
 
 import java.io.FileNotFoundException;
 import java.io.IOException;
-import java.util.List;
 
 import javax.inject.Inject;
 
@@ -45,7 +44,6 @@ import org.elasticsearch.client.RestHighLevelClient;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.collect.ImmutableList;
 import com.google.inject.AbstractModule;
 import com.google.inject.Provides;
 import com.google.inject.Singleton;
@@ -95,8 +93,8 @@ public class ElasticSearchQuotaSearcherModule extends AbstractModule {
         }
 
         @Override
-        public List<Class<? extends Startable>> forClasses() {
-            return ImmutableList.of(ElasticSearchQuotaIndexCreator.class);
+        public Class<? extends Startable> forClass() {
+            return ElasticSearchQuotaIndexCreator.class;
         }
     }
 
diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/metrics/CassandraMetricsModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/metrics/CassandraMetricsModule.java
index fccc0b5..8f728e2 100644
--- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/metrics/CassandraMetricsModule.java
+++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/metrics/CassandraMetricsModule.java
@@ -19,14 +19,11 @@
 
 package org.apache.james.modules.metrics;
 
-import java.util.List;
-
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.utils.ConfigurationPerformer;
 
 import com.codahale.metrics.MetricRegistry;
 import com.datastax.driver.core.Session;
-import com.google.common.collect.ImmutableList;
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
 import com.google.inject.Scopes;
@@ -44,7 +41,7 @@ public class CassandraMetricsModule extends AbstractModule {
             .to(CassandraMetricsInjector.class);
     }
 
-    public static class CassandraMetricsInjector implements ConfigurationPerformer {
+    public static class CassandraMetricsInjector implements ConfigurationPerformer, Startable {
 
         private final MetricRegistry metricRegistry;
         private final Session session;
@@ -64,8 +61,8 @@ public class CassandraMetricsModule extends AbstractModule {
         }
 
         @Override
-        public List<Class<? extends Startable>> forClasses() {
-            return ImmutableList.of();
+        public Class<? extends Startable> forClass() {
+            return CassandraMetricsInjector.class;
         }
     }
 }
diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraMessageIdManagerInjectionTest.java b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraMessageIdManagerInjectionTest.java
index 05f5f27..53701eb 100644
--- a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraMessageIdManagerInjectionTest.java
+++ b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/CassandraMessageIdManagerInjectionTest.java
@@ -22,8 +22,6 @@ package org.apache.james;
 import static org.apache.james.CassandraJamesServerMain.ALL_BUT_JMX_CASSANDRA_MODULE;
 import static org.assertj.core.api.Assertions.assertThatCode;
 
-import java.util.List;
-
 import javax.inject.Inject;
 
 import org.apache.james.lifecycle.api.Startable;
@@ -35,7 +33,6 @@ import org.apache.james.utils.ConfigurationPerformer;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.RegisterExtension;
 
-import com.google.common.collect.ImmutableList;
 import com.google.inject.multibindings.Multibinder;
 
 class CassandraMessageIdManagerInjectionTest {
@@ -60,7 +57,7 @@ class CassandraMessageIdManagerInjectionTest {
         assertThatCode(server::start).doesNotThrowAnyException();
     }
 
-    public static class CallMe implements ConfigurationPerformer {
+    public static class CallMe implements ConfigurationPerformer, Startable {
         @Inject
         public CallMe(MessageIdManager messageIdManager) {
         }
@@ -71,8 +68,8 @@ class CassandraMessageIdManagerInjectionTest {
         }
 
         @Override
-        public List<Class<? extends Startable>> forClasses() {
-            return ImmutableList.of();
+        public Class<? extends Startable> forClass() {
+            return CallMe.class;
         }
     }
 }
diff --git a/server/container/guice/cassandra-ldap-guice/src/main/java/org/apache/james/data/LdapUsersRepositoryModule.java b/server/container/guice/cassandra-ldap-guice/src/main/java/org/apache/james/data/LdapUsersRepositoryModule.java
index 6ccb734..6f6a0cd 100644
--- a/server/container/guice/cassandra-ldap-guice/src/main/java/org/apache/james/data/LdapUsersRepositoryModule.java
+++ b/server/container/guice/cassandra-ldap-guice/src/main/java/org/apache/james/data/LdapUsersRepositoryModule.java
@@ -18,8 +18,6 @@
  ****************************************************************/
 package org.apache.james.data;
 
-import java.util.List;
-
 import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
@@ -28,7 +26,6 @@ import org.apache.james.user.ldap.LdapRepositoryConfiguration;
 import org.apache.james.user.ldap.ReadOnlyUsersLDAPRepository;
 import org.apache.james.utils.ConfigurationPerformer;
 
-import com.google.common.collect.ImmutableList;
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
 import com.google.inject.Provides;
@@ -76,8 +73,8 @@ public class LdapUsersRepositoryModule extends AbstractModule {
         }
 
         @Override
-        public List<Class<? extends Startable>> forClasses() {
-            return ImmutableList.of(ReadOnlyUsersLDAPRepository.class);
+        public Class<? extends Startable> forClass() {
+            return ReadOnlyUsersLDAPRepository.class;
         }
     }
 
diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/event/RabbitMQEventBusModule.java b/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/event/RabbitMQEventBusModule.java
index 435ef7c..b064112 100644
--- a/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/event/RabbitMQEventBusModule.java
+++ b/server/container/guice/cassandra-rabbitmq-guice/src/main/java/org/apache/james/modules/event/RabbitMQEventBusModule.java
@@ -19,8 +19,6 @@
 
 package org.apache.james.modules.event;
 
-import java.util.List;
-
 import org.apache.james.event.json.EventSerializer;
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.mailbox.events.EventBus;
@@ -29,7 +27,6 @@ import org.apache.james.mailbox.events.RabbitMQEventBus;
 import org.apache.james.mailbox.events.RegistrationKey;
 import org.apache.james.mailbox.events.RetryBackoffConfiguration;
 import org.apache.james.utils.ConfigurationPerformer;
-import org.parboiled.common.ImmutableList;
 
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
@@ -68,8 +65,8 @@ public class RabbitMQEventBusModule extends AbstractModule {
         }
 
         @Override
-        public List<Class<? extends Startable>> forClasses() {
-            return ImmutableList.of(RabbitMQEventBus.class);
+        public Class<? extends Startable> forClass() {
+            return RabbitMQEventBus.class;
         }
     }
 }
diff --git a/server/container/guice/configuration/src/main/java/org/apache/james/utils/ConfigurationPerformer.java b/server/container/guice/configuration/src/main/java/org/apache/james/utils/ConfigurationPerformer.java
index 503618c..9ac4cb3 100644
--- a/server/container/guice/configuration/src/main/java/org/apache/james/utils/ConfigurationPerformer.java
+++ b/server/container/guice/configuration/src/main/java/org/apache/james/utils/ConfigurationPerformer.java
@@ -19,8 +19,6 @@
 
 package org.apache.james.utils;
 
-import java.util.List;
-
 import org.apache.james.lifecycle.api.Startable;
 
 public interface ConfigurationPerformer {
@@ -30,11 +28,9 @@ public interface ConfigurationPerformer {
     /**
      * In order to initialize components in the right order, every
      * {@link ConfigurationPerformer} is supposed to declare which
-     * classes it will initialize.
+     * class it will initialize.
      *
-     * @return the list of Classes that this object will initialize.
-     *  The list should never be empty.
+     * @return the Class that this object will initialize.
      */
-    List<Class<? extends Startable>> forClasses();
-
+    Class<? extends Startable> forClass();
 }
diff --git a/server/container/guice/es-metric-reporter/src/main/java/org/apache/james/modules/server/ElasticSearchMetricReporterModule.java b/server/container/guice/es-metric-reporter/src/main/java/org/apache/james/modules/server/ElasticSearchMetricReporterModule.java
index 7c2aabb..343f839 100644
--- a/server/container/guice/es-metric-reporter/src/main/java/org/apache/james/modules/server/ElasticSearchMetricReporterModule.java
+++ b/server/container/guice/es-metric-reporter/src/main/java/org/apache/james/modules/server/ElasticSearchMetricReporterModule.java
@@ -20,7 +20,6 @@
 package org.apache.james.modules.server;
 
 import java.io.FileNotFoundException;
-import java.util.List;
 
 import org.apache.commons.configuration2.Configuration;
 import org.apache.commons.configuration2.ex.ConfigurationException;
@@ -32,7 +31,6 @@ import org.apache.james.utils.PropertiesProvider;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.collect.ImmutableList;
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
 import com.google.inject.Provides;
@@ -87,7 +85,6 @@ public class ElasticSearchMetricReporterModule extends AbstractModule {
 
     @Singleton
     public static class ESMetricReporterStarter implements ConfigurationPerformer {
-
         private final ESMetricReporter esMetricReporter;
 
         @Inject
@@ -101,8 +98,8 @@ public class ElasticSearchMetricReporterModule extends AbstractModule {
         }
 
         @Override
-        public List<Class<? extends Startable>> forClasses() {
-            return ImmutableList.of(ESMetricReporter.class);
+        public Class<? extends Startable> forClass() {
+            return ESMetricReporter.class;
         }
     }
 
diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/DNSServiceModule.java b/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/DNSServiceModule.java
index 0b5e7d5..7fb7a68 100644
--- a/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/DNSServiceModule.java
+++ b/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/DNSServiceModule.java
@@ -18,15 +18,12 @@
  ****************************************************************/
 package org.apache.james.modules.server;
 
-import java.util.List;
-
 import org.apache.james.dnsservice.api.DNSService;
 import org.apache.james.dnsservice.dnsjava.DNSJavaService;
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
 import org.apache.james.utils.ConfigurationPerformer;
 
-import com.google.common.collect.ImmutableList;
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
 import com.google.inject.Scopes;
@@ -66,8 +63,8 @@ public class DNSServiceModule extends AbstractModule {
         }
 
         @Override
-        public List<Class<? extends Startable>> forClasses() {
-            return ImmutableList.of(DNSJavaService.class);
+        public Class<? extends Startable> forClass() {
+            return DNSJavaService.class;
         }
     }
 }
\ No newline at end of file
diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/DropWizardMetricsModule.java b/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/DropWizardMetricsModule.java
index 662f9c1..047b783 100644
--- a/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/DropWizardMetricsModule.java
+++ b/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/DropWizardMetricsModule.java
@@ -19,8 +19,6 @@
 
 package org.apache.james.modules.server;
 
-import java.util.List;
-
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.metrics.api.GaugeRegistry;
 import org.apache.james.metrics.api.MetricFactory;
@@ -30,7 +28,6 @@ import org.apache.james.metrics.dropwizard.DropWizardMetricFactory;
 import org.apache.james.utils.ConfigurationPerformer;
 
 import com.codahale.metrics.MetricRegistry;
-import com.google.common.collect.ImmutableList;
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
 import com.google.inject.Scopes;
@@ -53,39 +50,25 @@ public class DropWizardMetricsModule extends AbstractModule {
     }
 
     @Singleton
-    public static class DropWizardConfigurationPerformer implements ConfigurationPerformer {
-        private final DropWizardInitializer dropWizardInitializer;
-
-        @Inject
-        public DropWizardConfigurationPerformer(DropWizardInitializer dropWizardInitializer) {
-            this.dropWizardInitializer = dropWizardInitializer;
-        }
-
-        @Override
-        public void initModule() {
-            dropWizardInitializer.start();
-        }
-
-        @Override
-        public List<Class<? extends Startable>> forClasses() {
-            return ImmutableList.of(DropWizardInitializer.class);
-        }
-    }
-
-    public static class DropWizardInitializer implements Startable {
+    public static class DropWizardConfigurationPerformer implements ConfigurationPerformer, Startable {
         private final DropWizardMetricFactory dropWizardMetricFactory;
         private final DropWizardJVMMetrics dropWizardJVMMetrics;
 
         @Inject
-        public DropWizardInitializer(DropWizardMetricFactory dropWizardMetricFactory, DropWizardJVMMetrics dropWizardJVMMetrics) {
+        public DropWizardConfigurationPerformer(DropWizardMetricFactory dropWizardMetricFactory, DropWizardJVMMetrics dropWizardJVMMetrics) {
             this.dropWizardMetricFactory = dropWizardMetricFactory;
             this.dropWizardJVMMetrics = dropWizardJVMMetrics;
         }
 
-        public void start() {
+        @Override
+        public void initModule() {
             dropWizardMetricFactory.start();
             dropWizardJVMMetrics.start();
         }
-    }
 
+        @Override
+        public Class<? extends Startable> forClass() {
+            return DropWizardConfigurationPerformer.class;
+        }
+    }
 }
diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java b/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java
index 7f83c44..3172285 100644
--- a/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java
+++ b/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java
@@ -19,7 +19,6 @@
 
 package org.apache.james.modules.server;
 
-import java.util.List;
 import java.util.function.Supplier;
 
 import org.apache.commons.configuration2.HierarchicalConfiguration;
@@ -37,7 +36,6 @@ import org.apache.james.utils.MailRepositoryProbeImpl;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.collect.ImmutableList;
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
 import com.google.inject.Provides;
@@ -93,8 +91,8 @@ public class MailStoreRepositoryModule extends AbstractModule {
         }
 
         @Override
-        public List<Class<? extends Startable>> forClasses() {
-            return ImmutableList.of(MemoryMailRepositoryStore.class);
+        public Class<? extends Startable> forClass() {
+            return MemoryMailRepositoryStore.class;
         }
     }
 
diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/utils/ConfigurationsPerformer.java b/server/container/guice/guice-common/src/main/java/org/apache/james/utils/ConfigurationsPerformer.java
index 68b9533..166eda7 100644
--- a/server/container/guice/guice-common/src/main/java/org/apache/james/utils/ConfigurationsPerformer.java
+++ b/server/container/guice/guice-common/src/main/java/org/apache/james/utils/ConfigurationsPerformer.java
@@ -55,7 +55,7 @@ public class ConfigurationsPerformer {
 
     private Stream<ConfigurationPerformer> configurationPerformerFor(Class<? extends Startable> configurable) {
         return configurationPerformers.stream()
-                .filter(x -> x.forClasses().contains(configurable));
+                .filter(x -> x.forClass().equals(configurable));
     }
 
     private void processOthers(Set<ConfigurationPerformer> processed) {
diff --git a/server/container/guice/guice-common/src/test/java/org/apache/james/modules/ConfigurationsPerformerTest.java b/server/container/guice/guice-common/src/test/java/org/apache/james/modules/ConfigurationsPerformerTest.java
index 062d8d1..1228f51 100644
--- a/server/container/guice/guice-common/src/test/java/org/apache/james/modules/ConfigurationsPerformerTest.java
+++ b/server/container/guice/guice-common/src/test/java/org/apache/james/modules/ConfigurationsPerformerTest.java
@@ -21,8 +21,6 @@ package org.apache.james.modules;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
-import java.util.List;
-
 import javax.inject.Inject;
 
 import org.apache.commons.configuration2.HierarchicalConfiguration;
@@ -33,7 +31,6 @@ import org.apache.james.utils.ConfigurationPerformer;
 import org.apache.james.utils.ConfigurationsPerformer;
 import org.junit.Test;
 
-import com.google.common.collect.ImmutableList;
 import com.google.inject.Guice;
 import com.google.inject.Injector;
 import com.google.inject.Scopes;
@@ -66,7 +63,6 @@ public class ConfigurationsPerformerTest {
     }
 
     private static class AConfigurationPerformer implements ConfigurationPerformer {
-
         private final A a;
 
         @Inject
@@ -84,13 +80,12 @@ public class ConfigurationsPerformerTest {
         }
 
         @Override
-        public List<Class<? extends Startable>> forClasses() {
-            return ImmutableList.of(A.class);
+        public Class<? extends Startable> forClass() {
+            return A.class;
         }
     }
 
     private static class BConfigurationPerformer implements ConfigurationPerformer {
-
         private final B b;
 
         @Inject
@@ -108,13 +103,12 @@ public class ConfigurationsPerformerTest {
         }
 
         @Override
-        public List<Class<? extends Startable>> forClasses() {
-            return ImmutableList.of(B.class);
+        public Class<? extends Startable> forClass() {
+            return B.class;
         }
     }
 
     private static class A implements Configurable {
-
         @SuppressWarnings("unused")
         private final C c;
         private boolean configured;
@@ -136,7 +130,6 @@ public class ConfigurationsPerformerTest {
     }
 
     private static class B implements Configurable {
-
         private final A a;
         @SuppressWarnings("unused")
         private final C c;
@@ -161,61 +154,4 @@ public class ConfigurationsPerformerTest {
 
     private static class C {
     }
-
-    @Test
-    public void initModulesShouldBePerformedOneTimeWhenConfigurableModuleContainsMultipleDependencies() throws Exception {
-        Injector injector = Guice.createInjector(new StartablesModule(),
-                new DualResponsibilityConfigurationPerformerModule());
-
-        injector.getInstance(ConfigurationsPerformer.class).initModules();
-
-        assertThat(injector.getInstance(A.class).isConfigured()).isTrue();
-        assertThat(injector.getInstance(B.class).isConfigured()).isTrue();
-    }
-
-    private static class DualResponsibilityConfigurationPerformer implements ConfigurationPerformer {
-
-        private final A a;
-        private final B b;
-        private boolean configured;
-
-        @Inject
-        private DualResponsibilityConfigurationPerformer(A a, B b) {
-            this.a = a;
-            this.b = b;
-            this.configured = false;
-        }
-
-        @Override
-        public void initModule() {
-            if (configured) {
-                throw new RuntimeException("Already configured");
-            }
-
-            try {
-                a.configure(null);
-                b.configure(null);
-                configured = true;
-            } catch (ConfigurationException e) {
-                throw new RuntimeException(e);
-            }
-        }
-
-        @Override
-        public List<Class<? extends Startable>> forClasses() {
-            return ImmutableList.of(A.class, B.class);
-        }
-    }
-
-    private static class DualResponsibilityConfigurationPerformerModule extends StartablesModule {
-
-        @Override
-        protected void configure() {
-            bind(B.class).in(Scopes.SINGLETON);
-            bind(A.class).in(Scopes.SINGLETON);
-            bind(C.class).in(Scopes.SINGLETON);
-    
-            Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(DualResponsibilityConfigurationPerformer.class);
-        }
-    }
 }
diff --git a/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JMXServerModule.java b/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JMXServerModule.java
index a7adfe6..ea1f9a5 100644
--- a/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JMXServerModule.java
+++ b/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JMXServerModule.java
@@ -20,7 +20,6 @@
 package org.apache.james.modules.server;
 
 import java.io.FileNotFoundException;
-import java.util.List;
 
 import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.adapter.mailbox.MailboxCopierManagement;
@@ -53,7 +52,6 @@ import org.apache.mailbox.tools.indexer.ReIndexerImpl;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.collect.ImmutableList;
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
 import com.google.inject.Provides;
@@ -165,8 +163,8 @@ public class JMXServerModule extends AbstractModule {
         }
 
         @Override
-        public List<Class<? extends Startable>> forClasses() {
-            return ImmutableList.of(JMXServer.class);
+        public Class<? extends Startable> forClass() {
+            return JMXServer.class;
         }
     }
 
diff --git a/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPADomainListModule.java b/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPADomainListModule.java
index 2fa244d..85a2adc 100644
--- a/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPADomainListModule.java
+++ b/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPADomainListModule.java
@@ -18,8 +18,6 @@
  ****************************************************************/
 package org.apache.james.modules.data;
 
-import java.util.List;
-
 import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.domainlist.api.DomainList;
 import org.apache.james.domainlist.jpa.JPADomainList;
@@ -28,7 +26,6 @@ import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
 import org.apache.james.utils.ConfigurationPerformer;
 
-import com.google.common.collect.ImmutableList;
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
 import com.google.inject.Provides;
@@ -57,7 +54,6 @@ public class JPADomainListModule extends AbstractModule {
     
     @Singleton
     public static class JPADomainListConfigurationPerformer implements ConfigurationPerformer {
-
         private final DomainListConfiguration configuration;
         private final JPADomainList jpaDomainList;
 
@@ -77,8 +73,8 @@ public class JPADomainListModule extends AbstractModule {
         }
 
         @Override
-        public List<Class<? extends Startable>> forClasses() {
-            return ImmutableList.of(JPADomainList.class);
+        public Class<? extends Startable> forClass() {
+            return JPADomainList.class;
         }
     }
 }
diff --git a/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPARecipientRewriteTableModule.java b/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPARecipientRewriteTableModule.java
index f6126d5..b9702e2 100644
--- a/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPARecipientRewriteTableModule.java
+++ b/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPARecipientRewriteTableModule.java
@@ -18,8 +18,6 @@
  ****************************************************************/
 package org.apache.james.modules.data;
 
-import java.util.List;
-
 import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.rrt.api.RecipientRewriteTable;
@@ -27,7 +25,6 @@ import org.apache.james.rrt.jpa.JPARecipientRewriteTable;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
 import org.apache.james.utils.ConfigurationPerformer;
 
-import com.google.common.collect.ImmutableList;
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
 import com.google.inject.Scopes;
@@ -45,7 +42,6 @@ public class JPARecipientRewriteTableModule extends AbstractModule {
 
     @Singleton
     public static class JPARecipientRewriteTablePerformer implements ConfigurationPerformer {
-
         private final ConfigurationProvider configurationProvider;
         private final JPARecipientRewriteTable recipientRewriteTable;
 
@@ -65,8 +61,8 @@ public class JPARecipientRewriteTableModule extends AbstractModule {
         }
 
         @Override
-        public List<Class<? extends Startable>> forClasses() {
-            return ImmutableList.of(JPARecipientRewriteTable.class);
+        public Class<? extends Startable> forClass() {
+            return JPARecipientRewriteTable.class;
         }
     }
 
diff --git a/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPAUsersRepositoryModule.java b/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPAUsersRepositoryModule.java
index 7aedad5..69a0675 100644
--- a/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPAUsersRepositoryModule.java
+++ b/server/container/guice/jpa-common-guice/src/main/java/org/apache/james/modules/data/JPAUsersRepositoryModule.java
@@ -18,8 +18,6 @@
  ****************************************************************/
 package org.apache.james.modules.data;
 
-import java.util.List;
-
 import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
@@ -27,7 +25,6 @@ import org.apache.james.user.api.UsersRepository;
 import org.apache.james.user.jpa.JPAUsersRepository;
 import org.apache.james.utils.ConfigurationPerformer;
 
-import com.google.common.collect.ImmutableList;
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
 import com.google.inject.Scopes;
@@ -45,7 +42,6 @@ public class JPAUsersRepositoryModule extends AbstractModule {
 
     @Singleton
     public static class JPAUsersRepositoryConfigurationPerformer implements ConfigurationPerformer {
-
         private final ConfigurationProvider configurationProvider;
         private final JPAUsersRepository usersRepository;
 
@@ -65,8 +61,8 @@ public class JPAUsersRepositoryModule extends AbstractModule {
         }
 
         @Override
-        public List<Class<? extends Startable>> forClasses() {
-            return ImmutableList.of(JPAUsersRepository.class);
+        public Class<? extends Startable> forClass() {
+            return JPAUsersRepository.class;
         }
     }
 
diff --git a/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/DefaultEventModule.java b/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/DefaultEventModule.java
index 1fb2c6d..3d32d08 100644
--- a/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/DefaultEventModule.java
+++ b/server/container/guice/mailbox/src/main/java/org/apache/james/modules/mailbox/DefaultEventModule.java
@@ -19,8 +19,6 @@
 
 package org.apache.james.modules.mailbox;
 
-import java.util.List;
-
 import javax.inject.Inject;
 
 import org.apache.commons.configuration2.ex.ConfigurationException;
@@ -36,7 +34,6 @@ import org.apache.james.mailbox.events.delivery.InVmEventDelivery;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
 import org.apache.james.utils.ConfigurationPerformer;
 
-import com.google.common.collect.ImmutableList;
 import com.google.inject.AbstractModule;
 import com.google.inject.Provides;
 import com.google.inject.Scopes;
@@ -87,8 +84,8 @@ public class DefaultEventModule extends AbstractModule {
         }
 
         @Override
-        public List<Class<? extends Startable>> forClasses() {
-            return ImmutableList.of(MailboxListenersLoaderImpl.class);
+        public Class<? extends Startable> forClass() {
+            return MailboxListenersLoaderImpl.class;
         }
     }
 }
diff --git a/server/container/guice/mailet/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java b/server/container/guice/mailet/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java
index e04d95b..748cc22 100644
--- a/server/container/guice/mailet/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java
+++ b/server/container/guice/mailet/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java
@@ -55,7 +55,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
 import com.google.inject.Provides;
@@ -138,8 +137,8 @@ public class CamelMailetContainerModule extends AbstractModule {
         }
 
         @Override
-        public List<Class<? extends Startable>> forClasses() {
-            return ImmutableList.of(JamesMailSpooler.class);
+        public Class<? extends Startable> forClass() {
+            return JamesMailSpooler.class;
         }
     }
 
@@ -174,14 +173,13 @@ public class CamelMailetContainerModule extends AbstractModule {
         }
 
         @Override
-        public List<Class<? extends Startable>> forClasses() {
-            return ImmutableList.of(JamesMailetContext.class);
+        public Class<? extends Startable> forClass() {
+            return JamesMailetContext.class;
         }
     }
 
     @Singleton
     public static class MailetModuleConfigurationPerformer implements ConfigurationPerformer {
-
         private final ConfigurationProvider configurationProvider;
         private final CamelCompositeProcessor camelCompositeProcessor;
         private final DefaultProcessorsConfigurationSupplier defaultProcessorsConfigurationSupplier;
@@ -240,8 +238,8 @@ public class CamelMailetContainerModule extends AbstractModule {
         }
 
         @Override
-        public List<Class<? extends Startable>> forClasses() {
-            return ImmutableList.of(CamelCompositeProcessor.class);
+        public Class<? extends Startable> forClass() {
+            return CamelCompositeProcessor.class;
         }
     }
 
diff --git a/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/data/MemoryDataModule.java b/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/data/MemoryDataModule.java
index d24b762..f4c7666 100644
--- a/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/data/MemoryDataModule.java
+++ b/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/data/MemoryDataModule.java
@@ -19,8 +19,6 @@
 
 package org.apache.james.modules.data;
 
-import java.util.List;
-
 import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
 import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.james.dlp.api.DLPConfigurationStore;
@@ -80,7 +78,9 @@ public class MemoryDataModule extends AbstractModule {
         bind(EventSourcingDLPConfigurationStore.class).in(Scopes.SINGLETON);
         bind(DLPConfigurationStore.class).to(EventSourcingDLPConfigurationStore.class);
 
-        Multibinder.newSetBinder(binder(), ConfigurationPerformer.class).addBinding().to(MemoryDataConfigurationPerformer.class);
+        Multibinder<ConfigurationPerformer> configurationPerformers = Multibinder.newSetBinder(binder(), ConfigurationPerformer.class);
+        configurationPerformers.addBinding().to(MemoryRRTConfigurationPerformer.class);
+        configurationPerformers.addBinding().to(MemoryDomainListConfigurationPerformer.class);
 
         bind(MailStoreRepositoryModule.DefaultItemSupplier.class).toInstance(() -> MEMORY_MAILREPOSITORY_DEFAULT_DECLARATION);
 
@@ -99,25 +99,45 @@ public class MemoryDataModule extends AbstractModule {
     }
 
     @Singleton
-    public static class MemoryDataConfigurationPerformer implements ConfigurationPerformer {
-
-        private final ConfigurationProvider configurationProvider;
+    public static class MemoryDomainListConfigurationPerformer implements ConfigurationPerformer {
         private final DomainListConfiguration domainListConfiguration;
         private final MemoryDomainList memoryDomainList;
-        private final MemoryRecipientRewriteTable memoryRecipientRewriteTable;
 
         @Inject
-        public MemoryDataConfigurationPerformer(ConfigurationProvider configurationProvider, DomainListConfiguration domainListConfiguration, MemoryDomainList memoryDomainList, MemoryRecipientRewriteTable memoryRecipientRewriteTable) {
-            this.configurationProvider = configurationProvider;
+        public MemoryDomainListConfigurationPerformer(DomainListConfiguration domainListConfiguration, MemoryDomainList memoryDomainList) {
             this.domainListConfiguration = domainListConfiguration;
             this.memoryDomainList = memoryDomainList;
-            this.memoryRecipientRewriteTable = memoryRecipientRewriteTable;
         }
 
         @Override
         public void initModule() {
             try {
                 memoryDomainList.configure(domainListConfiguration);
+            } catch (ConfigurationException e) {
+                throw new RuntimeException(e);
+            }
+        }
+
+        @Override
+        public Class<? extends Startable> forClass() {
+            return MemoryDomainList.class;
+        }
+    }
+
+    @Singleton
+    public static class MemoryRRTConfigurationPerformer implements ConfigurationPerformer {
+        private final ConfigurationProvider configurationProvider;
+        private final MemoryRecipientRewriteTable memoryRecipientRewriteTable;
+
+        @Inject
+        public MemoryRRTConfigurationPerformer(ConfigurationProvider configurationProvider, MemoryRecipientRewriteTable memoryRecipientRewriteTable) {
+            this.configurationProvider = configurationProvider;
+            this.memoryRecipientRewriteTable = memoryRecipientRewriteTable;
+        }
+
+        @Override
+        public void initModule() {
+            try {
                 memoryRecipientRewriteTable.configure(configurationProvider.getConfiguration("recipientrewritetable"));
             } catch (ConfigurationException e) {
                 throw new RuntimeException(e);
@@ -125,8 +145,8 @@ public class MemoryDataModule extends AbstractModule {
         }
 
         @Override
-        public List<Class<? extends Startable>> forClasses() {
-            return ImmutableList.of(MemoryDomainList.class, MemoryRecipientRewriteTable.class);
+        public Class<? extends Startable> forClass() {
+            return MemoryRecipientRewriteTable.class;
         }
     }
 }
diff --git a/server/container/guice/memory-guice/src/test/java/org/apache/james/GuiceJamesServerTest.java b/server/container/guice/memory-guice/src/test/java/org/apache/james/GuiceJamesServerTest.java
index 4ad7122..51201ce 100644
--- a/server/container/guice/memory-guice/src/test/java/org/apache/james/GuiceJamesServerTest.java
+++ b/server/container/guice/memory-guice/src/test/java/org/apache/james/GuiceJamesServerTest.java
@@ -3,8 +3,6 @@ package org.apache.james;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
-import java.util.List;
-
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.modules.TestJMAPServerModule;
 import org.apache.james.utils.ConfigurationPerformer;
@@ -14,7 +12,6 @@ import org.junit.jupiter.api.extension.RegisterExtension;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.collect.ImmutableList;
 import com.google.inject.multibindings.Multibinder;
 
 class GuiceJamesServerTest {
@@ -66,8 +63,8 @@ class GuiceJamesServerTest {
             }
 
             @Override
-            public List<Class<? extends Startable>> forClasses() {
-                return ImmutableList.of();
+            public Class<? extends Startable> forClass() {
+                return Startable.class;
             }
         };
 
diff --git a/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java b/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java
index 0430540..8af4fba 100644
--- a/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java
+++ b/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java
@@ -18,8 +18,6 @@
  ****************************************************************/
 package org.apache.james.modules.protocols;
 
-import java.util.List;
-
 import org.apache.james.imap.api.process.ImapProcessor;
 import org.apache.james.imap.decode.ImapDecoder;
 import org.apache.james.imap.encode.ImapEncoder;
@@ -39,7 +37,6 @@ import org.apache.james.server.core.configuration.ConfigurationProvider;
 import org.apache.james.utils.ConfigurationPerformer;
 import org.apache.james.utils.GuiceProbe;
 
-import com.google.common.collect.ImmutableList;
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
 import com.google.inject.Provides;
@@ -111,8 +108,8 @@ public class IMAPServerModule extends AbstractModule {
         }
 
         @Override
-        public List<Class<? extends Startable>> forClasses() {
-            return ImmutableList.of(IMAPServerFactory.class);
+        public Class<? extends Startable> forClass() {
+            return IMAPServerFactory.class;
         }
     }
 }
\ No newline at end of file
diff --git a/server/container/guice/protocols/jmap/src/main/java/org/apache/james/modules/protocols/JMAPServerModule.java b/server/container/guice/protocols/jmap/src/main/java/org/apache/james/modules/protocols/JMAPServerModule.java
index f51549c..c57c87b 100644
--- a/server/container/guice/protocols/jmap/src/main/java/org/apache/james/modules/protocols/JMAPServerModule.java
+++ b/server/container/guice/protocols/jmap/src/main/java/org/apache/james/modules/protocols/JMAPServerModule.java
@@ -20,7 +20,6 @@
 package org.apache.james.modules.protocols;
 
 import java.security.Security;
-import java.util.List;
 
 import org.apache.james.jmap.JMAPConfiguration;
 import org.apache.james.jmap.JMAPModule;
@@ -33,7 +32,6 @@ import org.apache.james.utils.JmapGuiceProbe;
 import org.apache.james.utils.MessageIdProbe;
 import org.bouncycastle.jce.provider.BouncyCastleProvider;
 
-import com.google.common.collect.ImmutableList;
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
 import com.google.inject.Singleton;
@@ -51,7 +49,6 @@ public class JMAPServerModule extends AbstractModule {
 
     @Singleton
     public static class JMAPModuleConfigurationPerformer implements ConfigurationPerformer {
-
         private final JMAPServer server;
         private final JamesSignatureHandler signatureHandler;
         private final JMAPConfiguration jmapConfiguration;
@@ -81,8 +78,8 @@ public class JMAPServerModule extends AbstractModule {
         }
 
         @Override
-        public List<Class<? extends Startable>> forClasses() {
-            return ImmutableList.of(JMAPServer.class);
+        public Class<? extends Startable> forClass() {
+            return JMAPServer.class;
         }
     }
 
diff --git a/server/container/guice/protocols/lmtp/src/main/java/org/apache/james/modules/protocols/LMTPServerModule.java b/server/container/guice/protocols/lmtp/src/main/java/org/apache/james/modules/protocols/LMTPServerModule.java
index 9549143..8fb9624 100644
--- a/server/container/guice/protocols/lmtp/src/main/java/org/apache/james/modules/protocols/LMTPServerModule.java
+++ b/server/container/guice/protocols/lmtp/src/main/java/org/apache/james/modules/protocols/LMTPServerModule.java
@@ -19,8 +19,6 @@
 
 package org.apache.james.modules.protocols;
 
-import java.util.List;
-
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.lmtpserver.netty.LMTPServerFactory;
 import org.apache.james.lmtpserver.netty.OioLMTPServerFactory;
@@ -29,7 +27,6 @@ import org.apache.james.util.LoggingLevel;
 import org.apache.james.utils.ConfigurationPerformer;
 import org.apache.james.utils.GuiceProbe;
 
-import com.google.common.collect.ImmutableList;
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
 import com.google.inject.Scopes;
@@ -70,8 +67,8 @@ public class LMTPServerModule extends AbstractModule {
         }
 
         @Override
-        public List<Class<? extends Startable>> forClasses() {
-            return ImmutableList.of(LMTPServerFactory.class);
+        public Class<? extends Startable> forClass() {
+            return LMTPServerFactory.class;
         }
     }
 
diff --git a/server/container/guice/protocols/managedsieve/src/main/java/org/apache/james/modules/protocols/ManageSieveServerModule.java b/server/container/guice/protocols/managedsieve/src/main/java/org/apache/james/modules/protocols/ManageSieveServerModule.java
index 86553e2..2c89f94 100644
--- a/server/container/guice/protocols/managedsieve/src/main/java/org/apache/james/modules/protocols/ManageSieveServerModule.java
+++ b/server/container/guice/protocols/managedsieve/src/main/java/org/apache/james/modules/protocols/ManageSieveServerModule.java
@@ -18,8 +18,6 @@
  ****************************************************************/
 package org.apache.james.modules.protocols;
 
-import java.util.List;
-
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.managesieve.api.commands.CoreCommands;
 import org.apache.james.managesieve.core.CoreProcessor;
@@ -29,7 +27,6 @@ import org.apache.james.util.LoggingLevel;
 import org.apache.james.utils.ConfigurationPerformer;
 import org.apache.james.utils.GuiceProbe;
 
-import com.google.common.collect.ImmutableList;
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
 import com.google.inject.Singleton;
@@ -46,7 +43,6 @@ public class ManageSieveServerModule extends AbstractModule {
 
     @Singleton
     public static class ManageSieveModuleConfigurationPerformer implements ConfigurationPerformer {
-
         private final ConfigurationProvider configurationProvider;
         private final ManageSieveServerFactory manageSieveServerFactory;
 
@@ -67,8 +63,8 @@ public class ManageSieveServerModule extends AbstractModule {
         }
 
         @Override
-        public List<Class<? extends Startable>> forClasses() {
-            return ImmutableList.of(ManageSieveServerFactory.class);
+        public Class<? extends Startable> forClass() {
+            return ManageSieveServerFactory.class;
         }
     }
 }
\ No newline at end of file
diff --git a/server/container/guice/protocols/pop/src/main/java/org/apache/james/modules/protocols/POP3ServerModule.java b/server/container/guice/protocols/pop/src/main/java/org/apache/james/modules/protocols/POP3ServerModule.java
index beabcef..592e740 100644
--- a/server/container/guice/protocols/pop/src/main/java/org/apache/james/modules/protocols/POP3ServerModule.java
+++ b/server/container/guice/protocols/pop/src/main/java/org/apache/james/modules/protocols/POP3ServerModule.java
@@ -19,8 +19,6 @@
 
 package org.apache.james.modules.protocols;
 
-import java.util.List;
-
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.pop3server.netty.OioPOP3ServerFactory;
 import org.apache.james.pop3server.netty.POP3ServerFactory;
@@ -28,7 +26,6 @@ import org.apache.james.server.core.configuration.ConfigurationProvider;
 import org.apache.james.utils.ConfigurationPerformer;
 import org.apache.james.utils.GuiceProbe;
 
-import com.google.common.collect.ImmutableList;
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
 import com.google.inject.Scopes;
@@ -48,7 +45,6 @@ public class POP3ServerModule extends AbstractModule {
 
     @Singleton
     public static class POP3ModuleConfigurationPerformer implements ConfigurationPerformer {
-
         private final ConfigurationProvider configurationProvider;
         private final POP3ServerFactory pop3ServerFactory;
 
@@ -69,8 +65,8 @@ public class POP3ServerModule extends AbstractModule {
         }
 
         @Override
-        public List<Class<? extends Startable>> forClasses() {
-            return ImmutableList.of(POP3ServerFactory.class);
+        public Class<? extends Startable> forClass() {
+            return POP3ServerFactory.class;
         }
     }
 
diff --git a/server/container/guice/protocols/smtp/src/main/java/org/apache/james/modules/protocols/SMTPServerModule.java b/server/container/guice/protocols/smtp/src/main/java/org/apache/james/modules/protocols/SMTPServerModule.java
index 8318727..0cc441f 100644
--- a/server/container/guice/protocols/smtp/src/main/java/org/apache/james/modules/protocols/SMTPServerModule.java
+++ b/server/container/guice/protocols/smtp/src/main/java/org/apache/james/modules/protocols/SMTPServerModule.java
@@ -19,8 +19,6 @@
 
 package org.apache.james.modules.protocols;
 
-import java.util.List;
-
 import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
 import org.apache.james.smtpserver.SendMailHandler;
@@ -29,7 +27,6 @@ import org.apache.james.smtpserver.netty.SMTPServerFactory;
 import org.apache.james.utils.ConfigurationPerformer;
 import org.apache.james.utils.GuiceProbe;
 
-import com.google.common.collect.ImmutableList;
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
 import com.google.inject.Scopes;
@@ -76,8 +73,8 @@ public class SMTPServerModule extends AbstractModule {
         }
 
         @Override
-        public List<Class<? extends Startable>> forClasses() {
-            return ImmutableList.of(SMTPServerFactory.class);
+        public Class<? extends Startable> forClass() {
+            return SMTPServerFactory.class;
         }
     }
 
diff --git a/server/container/guice/protocols/webadmin/src/main/java/org/apache/james/modules/server/WebAdminServerModule.java b/server/container/guice/protocols/webadmin/src/main/java/org/apache/james/modules/server/WebAdminServerModule.java
index 07165399..b333cec 100644
--- a/server/container/guice/protocols/webadmin/src/main/java/org/apache/james/modules/server/WebAdminServerModule.java
+++ b/server/container/guice/protocols/webadmin/src/main/java/org/apache/james/modules/server/WebAdminServerModule.java
@@ -22,7 +22,6 @@ package org.apache.james.modules.server;
 import static org.apache.james.webadmin.WebAdminConfiguration.DISABLED_CONFIGURATION;
 
 import java.io.FileNotFoundException;
-import java.util.List;
 import java.util.Optional;
 
 import org.apache.commons.configuration2.Configuration;
@@ -44,7 +43,6 @@ import org.apache.james.webadmin.utils.JsonTransformerModule;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.collect.ImmutableList;
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
 import com.google.inject.Provides;
@@ -127,7 +125,6 @@ public class WebAdminServerModule extends AbstractModule {
 
     @Singleton
     public static class WebAdminServerModuleConfigurationPerformer implements ConfigurationPerformer {
-
         private final WebAdminServer webAdminServer;
 
         @Inject
@@ -141,8 +138,8 @@ public class WebAdminServerModule extends AbstractModule {
         }
 
         @Override
-        public List<Class<? extends Startable>> forClasses() {
-            return ImmutableList.of(WebAdminServer.class);
+        public Class<? extends Startable> forClass() {
+            return WebAdminServer.class;
         }
     }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[james-project] 13/16: JAMES-2854 Reorder import

Posted by bt...@apache.org.
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 6171604f7b32796fb5a8ccb65e5efda65cae43fc
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Tue Aug 20 14:09:18 2019 +0700

    JAMES-2854 Reorder import
---
 .../guice-common/src/main/java/org/apache/james/GuiceJamesServer.java   | 2 +-
 .../java/org/apache/james/modules/server/MailStoreRepositoryModule.java | 2 +-
 .../src/main/java/org/apache/james/modules/server/JMXServerModule.java  | 2 +-
 .../org/apache/james/modules/server/CamelMailetContainerModule.java     | 2 +-
 .../main/java/org/apache/james/modules/protocols/IMAPServerModule.java  | 2 +-
 .../main/java/org/apache/james/modules/protocols/JMAPServerModule.java  | 2 +-
 .../main/java/org/apache/james/modules/protocols/LMTPServerModule.java  | 2 +-
 .../org/apache/james/modules/protocols/ManageSieveServerModule.java     | 2 +-
 .../main/java/org/apache/james/modules/protocols/POP3ServerModule.java  | 2 +-
 .../main/java/org/apache/james/modules/protocols/SMTPServerModule.java  | 2 +-
 10 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/GuiceJamesServer.java b/server/container/guice/guice-common/src/main/java/org/apache/james/GuiceJamesServer.java
index 76d59ad..85311fd 100644
--- a/server/container/guice/guice-common/src/main/java/org/apache/james/GuiceJamesServer.java
+++ b/server/container/guice/guice-common/src/main/java/org/apache/james/GuiceJamesServer.java
@@ -28,9 +28,9 @@ import org.apache.james.modules.IsStartedProbeModule;
 import org.apache.james.modules.MailetProcessingModule;
 import org.apache.james.onami.lifecycle.Stager;
 import org.apache.james.server.core.configuration.Configuration;
-import org.apache.james.utils.InitializationOperations;
 import org.apache.james.utils.GuiceProbe;
 import org.apache.james.utils.GuiceProbeProvider;
+import org.apache.james.utils.InitializationOperations;
 
 import com.google.common.collect.Iterables;
 import com.google.inject.Guice;
diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java b/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java
index 701bb70..6a7ffac 100644
--- a/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java
+++ b/server/container/guice/guice-common/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java
@@ -30,8 +30,8 @@ import org.apache.james.mailrepository.file.FileMailRepositoryProvider;
 import org.apache.james.mailrepository.memory.MailRepositoryStoreConfiguration;
 import org.apache.james.mailrepository.memory.MemoryMailRepositoryStore;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
-import org.apache.james.utils.InitialisationOperation;
 import org.apache.james.utils.GuiceProbe;
+import org.apache.james.utils.InitialisationOperation;
 import org.apache.james.utils.MailRepositoryProbeImpl;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JMXServerModule.java b/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JMXServerModule.java
index 692931a..6f12df1 100644
--- a/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JMXServerModule.java
+++ b/server/container/guice/jmx/src/main/java/org/apache/james/modules/server/JMXServerModule.java
@@ -45,8 +45,8 @@ import org.apache.james.sieverepository.api.SieveRepositoryManagementMBean;
 import org.apache.james.sieverepository.lib.SieveRepositoryManagement;
 import org.apache.james.user.api.UsersRepositoryManagementMBean;
 import org.apache.james.user.lib.UsersRepositoryManagement;
-import org.apache.james.utils.InitialisationOperation;
 import org.apache.james.utils.GuiceMailboxManagerResolver;
+import org.apache.james.utils.InitialisationOperation;
 import org.apache.james.utils.PropertiesProvider;
 import org.apache.mailbox.tools.indexer.ReIndexerImpl;
 import org.slf4j.Logger;
diff --git a/server/container/guice/mailet/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java b/server/container/guice/mailet/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java
index 3878944..0bfe920 100644
--- a/server/container/guice/mailet/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java
+++ b/server/container/guice/mailet/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java
@@ -42,10 +42,10 @@ import org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
 import org.apache.james.transport.mailets.RemoveMimeHeader;
 import org.apache.james.transport.matchers.All;
-import org.apache.james.utils.InitialisationOperation;
 import org.apache.james.utils.GuiceMailetLoader;
 import org.apache.james.utils.GuiceMatcherLoader;
 import org.apache.james.utils.GuiceProbe;
+import org.apache.james.utils.InitialisationOperation;
 import org.apache.james.utils.MailetConfigurationOverride;
 import org.apache.james.utils.SpoolerProbe;
 import org.apache.mailet.Mailet;
diff --git a/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java b/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java
index c4fdd03..d9d195b 100644
--- a/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java
+++ b/server/container/guice/protocols/imap/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java
@@ -34,8 +34,8 @@ import org.apache.james.mailbox.quota.QuotaManager;
 import org.apache.james.mailbox.quota.QuotaRootResolver;
 import org.apache.james.metrics.api.MetricFactory;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
-import org.apache.james.utils.InitialisationOperation;
 import org.apache.james.utils.GuiceProbe;
+import org.apache.james.utils.InitialisationOperation;
 
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
diff --git a/server/container/guice/protocols/jmap/src/main/java/org/apache/james/modules/protocols/JMAPServerModule.java b/server/container/guice/protocols/jmap/src/main/java/org/apache/james/modules/protocols/JMAPServerModule.java
index 2edac9f..7c47a5c 100644
--- a/server/container/guice/protocols/jmap/src/main/java/org/apache/james/modules/protocols/JMAPServerModule.java
+++ b/server/container/guice/protocols/jmap/src/main/java/org/apache/james/modules/protocols/JMAPServerModule.java
@@ -26,8 +26,8 @@ import org.apache.james.jmap.JMAPModule;
 import org.apache.james.jmap.JMAPServer;
 import org.apache.james.jmap.crypto.JamesSignatureHandler;
 import org.apache.james.lifecycle.api.Startable;
-import org.apache.james.utils.InitialisationOperation;
 import org.apache.james.utils.GuiceProbe;
+import org.apache.james.utils.InitialisationOperation;
 import org.apache.james.utils.JmapGuiceProbe;
 import org.apache.james.utils.MessageIdProbe;
 import org.bouncycastle.jce.provider.BouncyCastleProvider;
diff --git a/server/container/guice/protocols/lmtp/src/main/java/org/apache/james/modules/protocols/LMTPServerModule.java b/server/container/guice/protocols/lmtp/src/main/java/org/apache/james/modules/protocols/LMTPServerModule.java
index 631490e..5759109 100644
--- a/server/container/guice/protocols/lmtp/src/main/java/org/apache/james/modules/protocols/LMTPServerModule.java
+++ b/server/container/guice/protocols/lmtp/src/main/java/org/apache/james/modules/protocols/LMTPServerModule.java
@@ -24,8 +24,8 @@ import org.apache.james.lmtpserver.netty.LMTPServerFactory;
 import org.apache.james.lmtpserver.netty.OioLMTPServerFactory;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
 import org.apache.james.util.LoggingLevel;
-import org.apache.james.utils.InitialisationOperation;
 import org.apache.james.utils.GuiceProbe;
+import org.apache.james.utils.InitialisationOperation;
 
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
diff --git a/server/container/guice/protocols/managedsieve/src/main/java/org/apache/james/modules/protocols/ManageSieveServerModule.java b/server/container/guice/protocols/managedsieve/src/main/java/org/apache/james/modules/protocols/ManageSieveServerModule.java
index a055a76..cc9d80f 100644
--- a/server/container/guice/protocols/managedsieve/src/main/java/org/apache/james/modules/protocols/ManageSieveServerModule.java
+++ b/server/container/guice/protocols/managedsieve/src/main/java/org/apache/james/modules/protocols/ManageSieveServerModule.java
@@ -24,8 +24,8 @@ import org.apache.james.managesieve.core.CoreProcessor;
 import org.apache.james.managesieveserver.netty.ManageSieveServerFactory;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
 import org.apache.james.util.LoggingLevel;
-import org.apache.james.utils.InitialisationOperation;
 import org.apache.james.utils.GuiceProbe;
+import org.apache.james.utils.InitialisationOperation;
 
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
diff --git a/server/container/guice/protocols/pop/src/main/java/org/apache/james/modules/protocols/POP3ServerModule.java b/server/container/guice/protocols/pop/src/main/java/org/apache/james/modules/protocols/POP3ServerModule.java
index c5d4a38..8de9b0e 100644
--- a/server/container/guice/protocols/pop/src/main/java/org/apache/james/modules/protocols/POP3ServerModule.java
+++ b/server/container/guice/protocols/pop/src/main/java/org/apache/james/modules/protocols/POP3ServerModule.java
@@ -23,8 +23,8 @@ import org.apache.james.lifecycle.api.Startable;
 import org.apache.james.pop3server.netty.OioPOP3ServerFactory;
 import org.apache.james.pop3server.netty.POP3ServerFactory;
 import org.apache.james.server.core.configuration.ConfigurationProvider;
-import org.apache.james.utils.InitialisationOperation;
 import org.apache.james.utils.GuiceProbe;
+import org.apache.james.utils.InitialisationOperation;
 
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;
diff --git a/server/container/guice/protocols/smtp/src/main/java/org/apache/james/modules/protocols/SMTPServerModule.java b/server/container/guice/protocols/smtp/src/main/java/org/apache/james/modules/protocols/SMTPServerModule.java
index 4d530ce..e6dd943 100644
--- a/server/container/guice/protocols/smtp/src/main/java/org/apache/james/modules/protocols/SMTPServerModule.java
+++ b/server/container/guice/protocols/smtp/src/main/java/org/apache/james/modules/protocols/SMTPServerModule.java
@@ -24,8 +24,8 @@ import org.apache.james.server.core.configuration.ConfigurationProvider;
 import org.apache.james.smtpserver.SendMailHandler;
 import org.apache.james.smtpserver.netty.OioSMTPServerFactory;
 import org.apache.james.smtpserver.netty.SMTPServerFactory;
-import org.apache.james.utils.InitialisationOperation;
 import org.apache.james.utils.GuiceProbe;
+import org.apache.james.utils.InitialisationOperation;
 
 import com.google.inject.AbstractModule;
 import com.google.inject.Inject;


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[james-project] 08/16: JAMES-2860 Upgrade scality docker image to last cloudserver version (8.1.17)

Posted by bt...@apache.org.
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 0f9a913ffef90bc57ff05b9308f0d68ce2f9a747
Author: Rene Cordier <rc...@linagora.com>
AuthorDate: Tue Aug 20 14:08:05 2019 +0700

    JAMES-2860 Upgrade scality docker image to last cloudserver version (8.1.17)
---
 .../org/apache/james/blob/objectstorage/aws/DockerAwsS3Container.java   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/aws/DockerAwsS3Container.java b/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/aws/DockerAwsS3Container.java
index 41ab6b4..55d1450 100644
--- a/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/aws/DockerAwsS3Container.java
+++ b/server/blob/blob-objectstorage/src/test/java/org/apache/james/blob/objectstorage/aws/DockerAwsS3Container.java
@@ -28,7 +28,7 @@ import org.testcontainers.containers.wait.strategy.Wait;
 
 public class DockerAwsS3Container {
 
-    private static final String AWS_S3_DOCKER_IMAGE = "scality/s3server:mem-6018536a";
+    private static final String AWS_S3_DOCKER_IMAGE = "linagora/cloudserver:mem-8.1.17";
     private static final int AWS_S3_PORT = 8000;
     private static final int ONE_TIME = 1;
 


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[james-project] 05/16: JAMES-2855 adapt new PropertyListConfiguration properties

Posted by bt...@apache.org.
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 ae5a99dac66a7207a10ce8cb837b96ac00767d11
Author: Tran Tien Duc <dt...@linagora.com>
AuthorDate: Mon Aug 19 11:36:06 2019 +0700

    JAMES-2855 adapt new PropertyListConfiguration properties
---
 .../james/user/ldap/ReadOnlyUsersLDAPRepositoryTest.java   | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/server/data/data-ldap/src/test/java/org/apache/james/user/ldap/ReadOnlyUsersLDAPRepositoryTest.java b/server/data/data-ldap/src/test/java/org/apache/james/user/ldap/ReadOnlyUsersLDAPRepositoryTest.java
index 670c29a..54ee3b4 100644
--- a/server/data/data-ldap/src/test/java/org/apache/james/user/ldap/ReadOnlyUsersLDAPRepositoryTest.java
+++ b/server/data/data-ldap/src/test/java/org/apache/james/user/ldap/ReadOnlyUsersLDAPRepositoryTest.java
@@ -27,9 +27,9 @@ import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import static org.mockito.Mockito.mock;
 
-import org.apache.commons.configuration.ConversionException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
-import org.apache.commons.configuration.plist.PropertyListConfiguration;
+import org.apache.commons.configuration2.HierarchicalConfiguration;
+import org.apache.commons.configuration2.ex.ConversionException;
+import org.apache.commons.configuration2.plist.PropertyListConfiguration;
 import org.apache.james.core.MailAddress;
 import org.apache.james.domainlist.api.DomainList;
 import org.junit.jupiter.api.BeforeEach;
@@ -197,9 +197,9 @@ public class ReadOnlyUsersLDAPRepositoryTest {
     private static HierarchicalConfiguration ldapRepositoryConfiguration() {
         PropertyListConfiguration configuration = new PropertyListConfiguration();
         configuration.addProperty("[@ldapHost]", DockerLdapSingleton.ldapContainer.getLdapHost());
-        configuration.addProperty("[@principal]", "cn=admin\\,dc=james\\,dc=org");
+        configuration.addProperty("[@principal]", "cn=admin,dc=james,dc=org");
         configuration.addProperty("[@credentials]", ADMIN_PASSWORD);
-        configuration.addProperty("[@userBase]", "ou=People\\,dc=james\\,dc=org");
+        configuration.addProperty("[@userBase]", "ou=People,dc=james,dc=org");
         configuration.addProperty("[@userIdAttribute]", "uid");
         configuration.addProperty("[@userObjectClass]", "inetOrgPerson");
         configuration.addProperty("[@maxRetries]", "4");
@@ -212,9 +212,9 @@ public class ReadOnlyUsersLDAPRepositoryTest {
     private static HierarchicalConfiguration ldapRepositoryConfigurationWithVirtualHosting() {
         PropertyListConfiguration configuration = new PropertyListConfiguration();
         configuration.addProperty("[@ldapHost]", DockerLdapSingleton.ldapContainer.getLdapHost());
-        configuration.addProperty("[@principal]", "cn=admin\\,dc=james\\,dc=org");
+        configuration.addProperty("[@principal]", "cn=admin,dc=james,dc=org");
         configuration.addProperty("[@credentials]", ADMIN_PASSWORD);
-        configuration.addProperty("[@userBase]", "ou=People\\,dc=james\\,dc=org");
+        configuration.addProperty("[@userBase]", "ou=People,dc=james,dc=org");
         configuration.addProperty("[@userIdAttribute]", "mail");
         configuration.addProperty("[@userObjectClass]", "inetOrgPerson");
         configuration.addProperty("[@maxRetries]", "4");


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org