Yes, NIO2 is FileSystem, Path, et al. I used to work more heavily in file manipulation stuff (that wasn't already tied to its own file API; *glares at Jenkins*), and back then, I was hoping to work on porting VFS to use NIO2, though that never materialized. From what I recall, one of the largest blockers to making any rapid progress was figuring out how to implement the Path API properly.
On Fri, 25 Jan 2019 at 13:58, Ralph Goers <[email protected]> wrote: > > When I looked at this several years ago I got the impression that the API > would use java.nio.FileSystem and java.nio.FileStore and that the VFS api > would disappear. All the VFS stuff would just be reworked to leverage the new > API. > > Ralph > > > On Jan 25, 2019, at 12:55 PM, Gary Gregory <[email protected]> wrote: > > > > On Fri, Jan 25, 2019 at 2:51 PM Matt Sicker <[email protected]> wrote: > > > >> I'd prefer support of NIO2 over VFS, but I wouldn't be opposed to > >> supporting both APIs. The NIO version has the advantage of being in > >> java.base for Java 9+. > >> > > > > Except that NIO2 support for other file systems is nothing like what we > > have in VFS... > > > > > >> > >> I'd also support a new major version of VFS using NIO2, but that's a > >> project in itself. > >> > > > > I like the idea but it is not clear to me that the APIs are equivalent > > feature-wise, I've not compared... > > > > Gary > > > > > >> On Fri, 25 Jan 2019 at 09:52, Ralph Goers <[email protected]> > >> wrote: > >>> > >>> I’ll look through the code over the weekend and let you know what I > >> think it would take. > >>> > >>> Ralph > >>> > >>>> On Jan 25, 2019, at 8:13 AM, Gary Gregory <[email protected]> > >> wrote: > >>>> > >>>> My server already depends on VFS, so I do not mind the additional dep, > >> but > >>>> for Log4j-Core, the dep should obviously be optional. The URL scheme > >> could > >>>> be "vfs:" or it might be nicer to say somewhere "resolve using VFS" so > >> you > >>>> can just use a VFS URL. > >>>> > >>>> Gary > >>>> > >>>> On Fri, Jan 25, 2019 at 8:37 AM Ralph Goers < > >> [email protected]> > >>>> wrote: > >>>> > >>>>> I haven’t built direct support for using Commons VFS, but it could. > >> There > >>>>> are two parts to solve. For any protocol you want to use you need to > >>>>> implement the protocol handler. For HTTP/S that is fairly > >> straightforward > >>>>> as we just use a URLConnection. We do need a better abstraction for > >>>>> handling URLs though as there are probably 3 places that have similar > >> code > >>>>> to deal with HTTP. > >>>>> > >>>>> Once you have a protocol handler then you need a Watcher. That should > >> be > >>>>> easy to do with any VFS protocol that can tell when a file has > >> changed. > >>>>> > >>>>> Ralph > >>>>> > >>>>>> On Jan 25, 2019, at 6:16 AM, Gary Gregory <[email protected]> > >>>>> wrote: > >>>>>> > >>>>>> Perhaps not for 2.11.2 which I'd rather have sooner than later > >> (RERO): > >>>>>> Would any of this work allow me to plug in Apache Commons VFS in > >> order > >>>>> for > >>>>>> Log4j to get the contents of its configuration? > >>>>>> > >>>>>> Gary > >>>>>> > >>>>>> On Fri, Jan 25, 2019 at 1:08 AM Ralph Goers < > >> [email protected]> > >>>>>> wrote: > >>>>>> > >>>>>>> FYI - I have created a branch and a PR so you can take a look at the > >>>>>>> initial changes. > >>>>> https://github.com/apache/logging-log4j2/pull/253/files > >>>>>>> > >>>>>>> The summary of the changes so far are: > >>>>>>> Generalize Watchers so other kinds of Watchers could be > >> implemented. An > >>>>>>> Http/Https Watcher was implemented. > >>>>>>> Enhance the Log4j Properties support to allow properties specified > >> in > >>>>>>> log4j2.system.properties to be added to the Java system properties. > >>>>>>> Create a log4j-spring-cloud-client project to provide an enhanced > >>>>> version > >>>>>>> of Spring Cloud Config's Log4j2 integration to support > >>>>> If-Modified-Since. > >>>>>>> Added a log4j2.system.properties with a setting to cause Spring to > >> use > >>>>> the > >>>>>>> enhanced logging system. > >>>>>>> Created a log4j-spring-cloud-server project that includes an > >> enhanced > >>>>>>> controller using a slightly different URL from the normal > >> controller to > >>>>>>> support If-Modified-Since until Spring Cloud incorporates the > >> patches I > >>>>>>> submitted. I also plan to enhance this to support notifications from > >>>>> Spring > >>>>>>> Cloud Config. > >>>>>>> Ralph > >>>>>>> > >>>>>>> > >>>>>>>> On Jan 22, 2019, at 10:09 AM, Ralph Goers < > >> [email protected]> > >>>>>>> wrote: > >>>>>>>> > >>>>>>>> Well… > >>>>>>>> > >>>>>>>> I have a need for the logging configuration to be cloud-enabled. > >> i.e - > >>>>> I > >>>>>>> need for the app to be able to refresh the configuration whenever > >> the > >>>>>>> logging configuration changes on a Spring Cloud Config server. So I > >> have > >>>>>>> modified the FileWatcher mechanism to be more generic and > >> implemented an > >>>>>>> HttpWatcher. That seems to be working except it turns out Spring > >> Could > >>>>>>> Config doesn’t support If-Modified-Since when accessing a Resource. > >> I > >>>>> have > >>>>>>> fixed that as a patch to Spring Cloud Config but haven’t finished > >>>>> testing > >>>>>>> it and then tested the HttpWatcher with it. > >>>>>>>> > >>>>>>>> I also am probably going to create either a new module or new > >>>>>>> sub-project in support of this so that the HttpWatcher doesn’t have > >> to > >>>>>>> completely rely on polling and instead use the Spring Cloud Config > >>>>>>> notifications to initiate the check for whether the logging > >>>>> configuration > >>>>>>> has changed. I may also include a version of the updated > >>>>> ResourceController > >>>>>>> on the assumption that Spring may not accept the change to support > >>>>>>> If-Modified-Since. > >>>>>>>> > >>>>>>>> In any case, even if I just commit what I have already done it is > >> new > >>>>>>> functionality so the release version would be 2.12 instead of > >> 2.11.2. > >>>>>>> Although I would prefer to only put new features in the 3.0 branch > >> it > >>>>> seems > >>>>>>> we are a long way off from being able to release that as it really > >>>>> needs a > >>>>>>> lot of work. > >>>>>>>> > >>>>>>>> So there are a couple of options. > >>>>>>>> > >>>>>>>> 1. I perform a release of 2.11.2 without any of these changes as > >> soon > >>>>> as > >>>>>>> I can. This would be followed within a week or two with a 2.12 > >> release > >>>>> that > >>>>>>> contains the Spring Cloud support. > >>>>>>>> 2. I perform the 2.12 release in a week or two when I have finished > >>>>>>> testing and documenting everything. > >>>>>>>> > >>>>>>>> Personally, I would prefer 2 since it saves me a half a days work, > >> but > >>>>> I > >>>>>>> could understand if the consensus is to go for option 1. > >>>>>>>> > >>>>>>>> Ralph > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>>> On Jan 22, 2019, at 9:25 AM, Gary Gregory <[email protected] > >>> > >>>>>>> wrote: > >>>>>>>>> > >>>>>>>>> Hi Ralph, > >>>>>>>>> > >>>>>>>>> Where are for 2.11.2? > >>>>>>>>> > >>>>>>>>> Gary > >>>>>>>>> > >>>>>>>>> On Mon, Nov 26, 2018 at 8:54 AM Ralph Goers < > >>>>> [email protected] > >>>>>>>> > >>>>>>>>> wrote: > >>>>>>>>> > >>>>>>>>>> I did not get the release done this last weekend. I was working > >> on > >>>>> the > >>>>>>> fix > >>>>>>>>>> for LOG4J2-1906 and it all works fine on my work MacBook Pro but > >> when > >>>>>>> I ran > >>>>>>>>>> the build on my personal MacBook Pro (where I perform releases > >> from) > >>>>>>> one of > >>>>>>>>>> the unit tests failed. I will have to look into that tonight. > >> Once I > >>>>>>> have > >>>>>>>>>> that straightened away I will perform the release. > >>>>>>>>>> > >>>>>>>>>> Ralph > >>>>>>>>>> > >>>>>>>>>>> On Nov 20, 2018, at 4:45 PM, Gary Gregory < > >> [email protected]> > >>>>>>>>>> wrote: > >>>>>>>>>>> > >>>>>>>>>>> I emailed the list about > >>>>>>>>>> https://issues.apache.org/jira/browse/LOG4J2-1246 > >>>>>>>>>>> and I wonder if this is simple to fix. > >>>>>>>>>>> > >>>>>>>>>>> Gary > >>>>>>>>>>> > >>>>>>>>>>> On Tue, Nov 20, 2018 at 9:23 AM Ralph Goers < > >>>>>>> [email protected]> > >>>>>>>>>>> wrote: > >>>>>>>>>>> > >>>>>>>>>>>> That is a distinct possibility. I will first look for low > >> hanging > >>>>>>>>>> issues I > >>>>>>>>>>>> can resolve and then proceed with the release process. I have > >> other > >>>>>>>>>> work I > >>>>>>>>>>>> want to do but that may be targeted at 3.0 only as they are > >> mostly > >>>>>>>>>>>> enhancements. > >>>>>>>>>>>> > >>>>>>>>>>>> Ralph > >>>>>>>>>>>> > >>>>>>>>>>>>> On Nov 20, 2018, at 6:34 AM, Gary Gregory < > >> [email protected] > >>>>>> > >>>>>>>>>>>> wrote: > >>>>>>>>>>>>> > >>>>>>>>>>>>> Hi All: > >>>>>>>>>>>>> > >>>>>>>>>>>>> There are had been rumors, rumblings, and ruminations of a > >> 2.11.2 > >>>>>>>>>> release > >>>>>>>>>>>>> over the Thanksgiving holidays. Is that a possibility? > >>>>>>>>>>>>> > >>>>>>>>>>>>> Gary > >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>> > >>>>>>> > >>>>>>> > >>>>> > >>>>> > >>>>> > >>> > >>> > >> > >> > >> -- > >> Matt Sicker <[email protected]> > >> > > -- Matt Sicker <[email protected]>
