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]>

Reply via email to