cziegeler commented on a change in pull request #25:
URL: 
https://github.com/apache/sling-org-apache-sling-feature/pull/25#discussion_r646383549



##########
File path: 
src/main/java/org/apache/sling/feature/io/artifacts/spi/ArtifactProvider.java
##########
@@ -43,8 +44,20 @@
 
     /**
      * Shutdown the provider.
+     * @deprecated Use {@link #close()} instead.
      */
-    void shutdown();
+    @Deprecated
+    default void shutdown() {
+        

Review comment:
       But shouldn't such a retry logic be part of shutdown? It seems to be a 
high burden to clients to figure out whether the IOException is transient or 
persistent.
   Right now, both provider and manager have a shutdown method not throwing a 
checked exception. It is expected that the implementation does whatever is 
required to shutdown. With introducing close() to both, the provider and the 
manager, you create this new situation where the provider now can throw on 
close - which then needs to be handled by the manager.
   Therefore my expectation is that shutdown never throws (a checked 
exception), we can implement Closeable as a convenience but close() will never 
throw an IOException.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to