Content store subsystems - Content store subsystems - Alfresco - Alfresco Content Connector for AWS S3 - Alfresco/Alfresco-Content-Connector-for-AWS-S3/6.0/Alfresco-Content-Connector-for-AWS-S3/Alfresco-Content-Connector-for-AWS-S3/Configure/Content-store-subsystems - 6.0

Alfresco Content Connector for AWS S3

Platform
Alfresco
Product
Alfresco Content Connector for AWS S3
Release
6.0
ft:lastPublication
2026-05-06T14:41:07.251000
ft:locale
en-US
ArchiveStatus
Archived

Starting from version 3.1, the S3 Connector provides out-of-the-box content store repository subsystems. Older versions of the S3 Connector hard-wired the Amazon Simple Storage Service (S3) content store directly into Alfresco Content Services.

The repository subsystem approach allows a more flexible use of the S3 content store, even in conjunction with existing content stores. A subsystem can be started, stopped, and configured independently, and it has its own isolated Spring application context and configuration. The S3 subsystems belong to the ContentStore category, and have types S3 or S3OnPrem.

See the Alfresco Content Services documentation on Subsystems for more.

S3OnPrem content store subsystem

This defines an aggregating content store with S3 as the primary content store and the file system as the secondary store.

This configuration is similar to what's used in previous S3 Connector versions (i.e. 2.x - 3.0) and is set as the default content store.

S3 content store subsystem

This defines a pure S3 content store, which uses S3 as the only storage mechanism for Alfresco Content Services.

This content store is recommended for a clean Alfresco Content Services and S3 Connector installation, or an upgrade of an installation that's never used the file system.

Using an S3 content store subsystem

The default subsystem that's enabled on installation is S3OnPrem. This ensures that the new AMP version is compatible with a previous installation. You can change the subsystem used by overwriting the global variable filecontentstore.subsystem.name, for example:

filecontentstore.subsystem.name=S3

Note

We don't recommend switching to a pure S3 content store from S3OnPrem, if binaries have already been saved on the file system.

Customizing the subsystem properties

You can manage subsystems by using a JMX client under MBeans > Alfresco > Configuration > ContentStore > managed. Here, you can change all the properties defined for the subsystem, and restart the subsystem.

Another way to extend a subsystem is to add a *-context.xml and a properties file in the extension path for that subsystem:

alfresco/extension/subsystems/ContentStore/S3/S3/*-context.xml
alfresco/extension/subsystems/ContentStore/S3/S3/*.properties

For example, the common bean s3ClientConfiguration, used to set AWS SDK client configurations, can be overwritten in a subsystem extension:

<!-- Client configuration options such as proxy settings, user agent string, max retry attempts, etc. -->
    <bean id="s3ClientConfiguration" class="com.amazonaws.ClientConfiguration">
        <!-- Sets the retry policy upon failed requests -->
        <property name="retryPolicy" ref="s3RetryPolicy"/>
        <!-- Sets whether throttled retries should be used -->
        <property name="useThrottleRetries" value="true"/>
        <property name="requestTimeout" value="${connector.s3.httpRequestTimeout}"/>
    </bean>

Note

In Alfresco Content Services 7.1 or newer and S3 Connector 4.1 or newer, changing the current content store subsystem using the JMX client isn't supported. There's a limitation in Alfresco Content Services which only allows switching between the embedded content stores.

See next section about enabling deleted content store.