Class LocalFileSystemAttachmentServiceImpl

java.lang.Object
com.netflix.genie.web.services.impl.LocalFileSystemAttachmentServiceImpl
All Implemented Interfaces:
AttachmentService

public class LocalFileSystemAttachmentServiceImpl extends Object implements AttachmentService
Implementation of AttachmentService that saves the files to a local directory.

N.B.: This implementation is currently used for integration tests and lacks some aspects that would make it usable in production environments (e.g., garbage collection of old files, metrics, etc.).

Since:
4.0.0
  • Constructor Details

    • LocalFileSystemAttachmentServiceImpl

      public LocalFileSystemAttachmentServiceImpl(AttachmentServiceProperties attachmentServiceProperties) throws IOException
      Constructor.
      Parameters:
      attachmentServiceProperties - the service properties
      Throws:
      IOException - when failing to create the attachments directory
  • Method Details

    • saveAttachments

      public Set<URI> saveAttachments(@Nullable String jobId, Set<org.springframework.core.io.Resource> attachments) throws SaveAttachmentException
      Save the attachments and return their URIs so agent executing the job can retrieve them.
      Specified by:
      saveAttachments in interface AttachmentService
      Parameters:
      jobId - The id of the job these attachments are for, if one was present in the job request This is strictly for debugging and logging.
      attachments - The attachments sent by the user
      Returns:
      The set of URI which can be used to retrieve the attachments
      Throws:
      SaveAttachmentException - if an error is encountered while saving