diff --git a/snaploader-examples/src/main/java/com/avrsandbox/snaploader/examples/TestBasicFeatures.java b/snaploader-examples/src/main/java/com/avrsandbox/snaploader/examples/TestBasicFeatures.java index 7950eb3..1c921cd 100644 --- a/snaploader-examples/src/main/java/com/avrsandbox/snaploader/examples/TestBasicFeatures.java +++ b/snaploader-examples/src/main/java/com/avrsandbox/snaploader/examples/TestBasicFeatures.java @@ -65,7 +65,7 @@ public static void main(String[] args) throws IOException { loader.setRetryWithCleanExtraction(true); /* Native dynamic library properties */ printDetails(loader); - loader.loadLibrary(LoadingCriterion.CLEAN_EXTRACTION); + loader.loadLibrary(LoadingCriterion.INCREMENTAL_LOADING); } protected static void printDetails(NativeBinaryLoader loader) { diff --git a/snaploader/src/main/java/com/avrsandbox/snaploader/NativeBinaryLoader.java b/snaploader/src/main/java/com/avrsandbox/snaploader/NativeBinaryLoader.java index a4fedf2..acdacec 100644 --- a/snaploader/src/main/java/com/avrsandbox/snaploader/NativeBinaryLoader.java +++ b/snaploader/src/main/java/com/avrsandbox/snaploader/NativeBinaryLoader.java @@ -226,6 +226,7 @@ protected void loadBinary(NativeDynamicLibrary library) throws IOException { return; } System.load(library.getExtractedLibrary()); + log(Level.INFO, "loadBinary", "Successfully loaded library: " + library.getExtractedLibrary(), null); } catch (final UnsatisfiedLinkError error) { log(Level.SEVERE, "loadBinary", "Cannot load the dynamic library: " + library.getExtractedLibrary(), error); /* Retry with clean extract */ @@ -247,11 +248,11 @@ protected void cleanExtractBinary(NativeDynamicLibrary library) throws IOExcepti /* CLEAR RESOURCES AND RESET OBJECTS ON-EXTRACTION */ libraryExtractor.setExtractionListener(() -> { try{ - loadBinary(library); libraryExtractor.getFileLocator().close(); libraryExtractor.close(); libraryExtractor = null; log(Level.INFO, "cleanExtractBinary", "Extracted successfully to " + library.getExtractedLibrary(), null); + loadBinary(library); } catch (Exception e) { log(Level.SEVERE, "cleanExtractBinary", "Error while closing the resources!", e); }