diff --git a/src/main/java/eu/openaire/urls_worker/exceptions/FileStorageException.java b/src/main/java/eu/openaire/urls_worker/exceptions/FileStorageException.java deleted file mode 100644 index a4717d0..0000000 --- a/src/main/java/eu/openaire/urls_worker/exceptions/FileStorageException.java +++ /dev/null @@ -1,16 +0,0 @@ -package eu.openaire.urls_worker.exceptions; - -import org.springframework.http.HttpStatus; -import org.springframework.web.bind.annotation.ResponseStatus; - -@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) -public class FileStorageException extends RuntimeException { - - public FileStorageException(String message) { - super(message); - } - - public FileStorageException(String message, Throwable cause) { - super(message, cause); - } -} diff --git a/src/main/java/eu/openaire/urls_worker/plugins/PublicationsRetrieverPlugin.java b/src/main/java/eu/openaire/urls_worker/plugins/PublicationsRetrieverPlugin.java index 56750f3..6b89b38 100644 --- a/src/main/java/eu/openaire/urls_worker/plugins/PublicationsRetrieverPlugin.java +++ b/src/main/java/eu/openaire/urls_worker/plugins/PublicationsRetrieverPlugin.java @@ -69,6 +69,7 @@ public class PublicationsRetrieverPlugin { PublicationsRetriever.executor = Executors.newFixedThreadPool(workerThreadsCount); } + private static final List> callableTasks = new ArrayList<>(FileUtils.jsonBatchSize); public static void processAssignments(Long assignmentRequestCounter, Collection assignments) throws RuntimeException diff --git a/src/main/java/eu/openaire/urls_worker/services/FileStorageService.java b/src/main/java/eu/openaire/urls_worker/services/FileStorageService.java index c0cf815..bf7817f 100644 --- a/src/main/java/eu/openaire/urls_worker/services/FileStorageService.java +++ b/src/main/java/eu/openaire/urls_worker/services/FileStorageService.java @@ -1,11 +1,8 @@ package eu.openaire.urls_worker.services; -import eu.openaire.urls_worker.exceptions.FileStorageException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.core.io.Resource; -import org.springframework.core.io.UrlResource; import org.springframework.stereotype.Service; import java.io.File; @@ -39,28 +36,20 @@ public class FileStorageService { } catch (IOException ioe) { logger.error("I/O error when reading the properties file!", ioe); System.exit(-11); + } catch (Exception e) { + logger.error("", e); + System.exit(-12); } } @Autowired - public FileStorageService() throws FileStorageException { + public FileStorageService() { try { Files.createDirectories(assignmentsLocation); - } catch (Exception ex) { - throw new FileStorageException("Could not create the directory where the uploaded files will be stored.", ex); - } - } - - - public Resource loadFileAsResource(String fullFileName) { - try { - Path filePath = assignmentsLocation.resolve(fullFileName).normalize(); - Resource resource = new UrlResource(filePath.toUri()); - return resource.exists() ? resource : null; } catch (Exception e) { - logger.error("Error when loading file: " + fullFileName, e); - return null; + logger.error("Could not create the directory where the downloaded files will be stored.", e); + System.exit(-13); } } diff --git a/src/main/java/eu/openaire/urls_worker/util/AssignmentsHandler.java b/src/main/java/eu/openaire/urls_worker/util/AssignmentsHandler.java index b2a2b08..ae61e70 100644 --- a/src/main/java/eu/openaire/urls_worker/util/AssignmentsHandler.java +++ b/src/main/java/eu/openaire/urls_worker/util/AssignmentsHandler.java @@ -90,8 +90,11 @@ public class AssignmentsHandler { Long assignmentRequestCounter = assignmentsRequest.getAssignmentsCounter(); List assignments = assignmentsRequest.getAssignments(); if ( assignments == null ) { - logger.warn("The assignments were found to be null for assignmentRequestCounter = " + assignmentRequestCounter); - return; + if ( assignmentRequestCounter == -1 ) + logger.warn("The Controller could not retrieve and assignments from the database. It will increase the attempts-number and retry in the next request."); + else + logger.warn("The assignments were found to be null for assignmentRequestCounter = " + assignmentRequestCounter); + return; // The Worker will just request the assignments again, immediately. } int assignmentsSize = assignments.size();