Ok, I understand now.
Please raise an issue, as the ConfigInstaller should not handle events for
files it does not manage.

2018-04-19 15:45 GMT+02:00 Chris Drake <[email protected]>:

> Guillaume,
>
> Thanks for the feedback, however I'm not sure I understand how setting the
> felix.fileinstall.filter will resolve the issue.  Maybe I'm
> misunderstanding how things are intended to work?
>
> We currently use the following fileinstall configuration:
>
> PID = org.apache.felix.fileinstall.c84c4846-d3a3-4a8d-8228-223d52613459
>   Factory PID = org.apache.felix.fileinstall
>   BundleLocation = file:/app/bundle/org.apache.felix.fileinstall-3.5.4.jar
>   felix.fileinstall.bundles.new.start = false
>   felix.fileinstall.dir = /app/conf
>   felix.fileinstall.filter = .*\.cfg|.*\.json
>   felix.fileinstall.noInitialDelay = true
>   felix.fileinstall.poll = 2000
>   service.factoryPid = org.apache.felix.fileinstall
>   service.pid =
> org.apache.felix.fileinstall.c84c4846-d3a3-4a8d-8228-223d52613459
>
>
> Our ArtifactInstaller only handles .json config files, similarly our
> ConfigurationListener will only handle events for configuration objects
> bound to our .json config files.
>
> The Felix ConfigInstaller's ArtifactInstaller implementation only handles
> .cfg and .config files, therefore ignoring our custom .json configuration
> files. This is the expected behaviour.  However, for the
> ConfigurationListener implementation all configuration events are handled
> regardless of the bound configuration objects file type. As a result
> Felix's ConfigInstaller overwrites our .json config files immediately after
> our ConfigurationListener writes them out to disk.
>
> Regards,
> Chris
>
> From: Guillaume Nodet <[email protected]>
> > To: [email protected]
> > Cc:
> > Bcc:
> > Date: Thu, 19 Apr 2018 07:52:00 +0200
> > Subject: Re: Felix Fileinstall 3.6.0 overwriting custom .json
> > configuration files
> > That's definitely a change in the behavior.
> > A simple workaround is to define the following property:
> >
> > felix.fileinstall.filter = .*\\.(cfg|config)
> >
> >
> > 2018-04-18 22:40 GMT+02:00 Chris Drake <[email protected]>:
> >
> > > Hello,
> > >
> > > We have a OSGi service registered via a Bundle activator and which
> > > implements the ArtifactInstaller and ConfigurationListener interfaces.
> > The
> > > purpose of this service is to support loading custom .json
> configuration
> > > files from disk, creating and updating the corresponding config via the
> > > ConfigurationAdmin and writing configuration changes back out to disk.
> > >
> > > This service has worked well for a long time across multiple upgrades
> of
> > > the Felix's FileInstall bundle.  Unfortunately recent changes as a
> result
> > > of FELIX-5609 <https://issues.apache.org/jira/browse/FELIX-5609> have
> > > broken this service.  Prior to FELIX-5609
> > > <https://issues.apache.org/jira/browse/FELIX-5609> FileInstall was
> > > restricted to handling .cfg and .config files and would ignore our
> > > customized .json config files, never attempting to write them out to
> > disk.
> > > When we moved to FileInstall 3.6.0 we observed our .json config files
> > being
> > > overwritten by FileInstall's ConfigInstaller.
> > >
> > > I believe the above is a bug and the changes introduced by FELIX-5609
> > > <https://issues.apache.org/jira/browse/FELIX-5609> should have
> retained
> > > the
> > > check restricting configuration handling to only .cfg and .confg files.
> > >
> > > What do you think?
> > >
> > > Regards,
> > > Chris
> > >
> >
> >
> >
> > --
> > ------------------------
> > Guillaume Nodet
> >
> >
>



-- 
------------------------
Guillaume Nodet

Reply via email to