I do not like having re-invent the Java 8 wheel like we did with the message supplier mess where we ended up deprecating a whole bunch of APIs we had _just_ introduced. I think we need to either migrate to Java 8 or put things like this on the to-do list for when we do move to Java 8. If there is a Java 7-way to do this, then that's another thing...
Gary On Mon, Dec 12, 2016 at 10:27 AM, Matt Sicker <boa...@gmail.com> wrote: > Without Java 8 support, we'll need our own promise-like API then most > likely. > > On 12 December 2016 at 11:37, Mikael Ståldal <mikael.stal...@magine.com> > wrote: > >> The java.util.concurrent.Future is quite useless since it does not >> support callbacks. We should not use it. >> >> On Mon, Dec 12, 2016 at 6:30 PM, Matt Sicker <boa...@gmail.com> wrote: >> >>> There was talk about making NIO/channel-based appenders that would get >>> nearly async performance without using async loggers or appenders. I'm not >>> so sure that making an appender's implementation asynchronous/non-blocking >>> is against the architecture. Though adding API support for Future or >>> CompleteableFuture or something similar would be interesting. It could >>> certainly open up some avenues for asynchronous optimizations or new ideas. >>> >>> On 12 December 2016 at 11:16, Mikael Ståldal <mikael.stal...@magine.com> >>> wrote: >>> >>>> This issue: https://issues.apache.org/jira/browse/LOG4J2-1733 >>>> raises an architectural issue. >>>> >>>> As far as I understand, Log4j assumes that regular appenders (the >>>> AsyncAppender is a special case) to be synchronous, and >>>> provides AsyncAppender and async loggers if you want async behavior. >>>> >>>> It would be easy to fulfill LOG4J2-1733 and add an option to make >>>> KafkaAppeder asynchronous. But that that would violate the contract, and >>>> might cause problems that are not so easy to foresee. >>>> >>>> However, refusing LOG4J2-1733 and insisting in keeping all appenders >>>> synchronous, even when real async I/O is available, will limit performance. >>>> >>>> Should we refine the appender interface and explicitly allow them to be >>>> asynchronous, changing AsyncAppender and parts of core to make use of this >>>> to optimize processing? >>>> >>>> Thoughts? >>>> >>>> -- >>>> [image: MagineTV] >>>> >>>> *Mikael Ståldal* >>>> Senior software developer >>>> >>>> *Magine TV* >>>> mikael.stal...@magine.com >>>> Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com >>>> >>>> Privileged and/or Confidential Information may be contained in this >>>> message. If you are not the addressee indicated in this message >>>> (or responsible for delivery of the message to such a person), you may >>>> not copy or deliver this message to anyone. In such case, >>>> you should destroy this message and kindly notify the sender by reply >>>> email. >>>> >>> >>> >>> >>> -- >>> Matt Sicker <boa...@gmail.com> >>> >> >> >> >> -- >> [image: MagineTV] >> >> *Mikael Ståldal* >> Senior software developer >> >> *Magine TV* >> mikael.stal...@magine.com >> Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com >> >> Privileged and/or Confidential Information may be contained in this >> message. If you are not the addressee indicated in this message >> (or responsible for delivery of the message to such a person), you may >> not copy or deliver this message to anyone. In such case, >> you should destroy this message and kindly notify the sender by reply >> email. >> > > > > -- > Matt Sicker <boa...@gmail.com> > -- E-Mail: garydgreg...@gmail.com | ggreg...@apache.org Java Persistence with Hibernate, Second Edition <https://www.amazon.com/gp/product/1617290459/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1617290459> JUnit in Action, Second Edition <https://www.amazon.com/gp/product/1935182021/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182021> Spring Batch in Action <https://www.amazon.com/gp/product/1935182951/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%7Blink_id%7D%7D%22%3ESpring+Batch+in+Action> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182951> Blog: http://garygregory.wordpress.com Home: http://garygregory.com/ Tweet! http://twitter.com/GaryGregory