Class S3ProtocolResolver

  • All Implemented Interfaces:
    org.springframework.core.io.ProtocolResolver

    public class S3ProtocolResolver
    extends java.lang.Object
    implements org.springframework.core.io.ProtocolResolver
    This class implements the ProtocolResolver interface. When an instance of this class is added to a Spring Application context list of Protocol Resolvers via ConfigurableApplicationContext.addProtocolResolver(ProtocolResolver) allows valid S3 resources to be loaded using the Spring ResourceLoader abstraction.

    Leverages some work done by Spring Cloud AWS.

    Since:
    4.0.0
    • Constructor Summary

      Constructors 
      Constructor Description
      S3ProtocolResolver​(S3ClientFactory s3ClientFactory, org.springframework.core.task.TaskExecutor s3TaskExecutor)
      Constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.springframework.core.io.Resource resolve​(java.lang.String location, org.springframework.core.io.ResourceLoader resourceLoader)
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • S3ProtocolResolver

        public S3ProtocolResolver​(S3ClientFactory s3ClientFactory,
                                  org.springframework.core.task.TaskExecutor s3TaskExecutor)
        Constructor.
        Parameters:
        s3ClientFactory - The S3 client factory to use to get S3 client instances
        s3TaskExecutor - A task executor to use for uploading files to S3
    • Method Detail

      • resolve

        public org.springframework.core.io.Resource resolve​(java.lang.String location,
                                                            org.springframework.core.io.ResourceLoader resourceLoader)
        Specified by:
        resolve in interface org.springframework.core.io.ProtocolResolver