[ 
https://issues.apache.org/jira/browse/LOG4J2-1797?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15884060#comment-15884060
 ] 

Matt Sicker commented on LOG4J2-1797:
-------------------------------------

I just had a thought that if we support callback based asynchronous completion, 
then we can more reliably wait for a clean shutdown in asynchronous appenders.

> Add asynchronous/non-blocking SPIs for appenders
> ------------------------------------------------
>
>                 Key: LOG4J2-1797
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-1797
>             Project: Log4j 2
>          Issue Type: Improvement
>          Components: Appenders
>            Reporter: Matt Sicker
>
> Some appenders (e.g., Kafka and Cassandra) support using an asynchronous SPI 
> with callbacks (to make them non-blocking). In a Scala-based API, this could 
> be easily handled with the Future class, and with Java 8, this could be 
> easily handled with a CompleteableFuture class. However, if this API 
> improvement is desired for Java 7, then we'd need to create a basic callback 
> API that would ideally be easy to update to CompleteableFuture later on.
> In theory, such an SPI could also be adapted to use the Flow classes in Java 
> 9. This may be an interesting API to follow as we could use the Reactive 
> Streams standard API or a compatible API.
> Some main things that would be desirable in such an SPI would include 
> asynchronous error handling (e.g., to trigger a failover appender). This 
> should be adapted to work well with the generic AsyncAppender and AsyncLogger 
> as well.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-dev-h...@logging.apache.org

Reply via email to