[
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: [email protected]
For additional commands, e-mail: [email protected]