Dug into the code, and I see Karaf identifies changes by checksumming the modified time and file size, so we could bypass this behavior by ensuring the timestamp stays the same.
On Mon, Feb 24, 2014 at 9:02 AM, Jeremy Jongsma <[email protected]> wrote: > Our Karaf instances use the fileinstall deployer to monitor a conf/ > directory for changes to KAR and configuration files. The directory > containing these files is deployed from a central location, and to enable > fast rollback on error we redeploy to a new directory every time and use > conf/ as a symlink pointing to the current active config directory. > > The downside of this is that even if we only change configuration, the KAR > file registers as changed because it is a new file (though it has the same > name, version, size and checksum) and redeploys, so there is no way to do > runtime config updates without service interruption. > > I like our linking approach because the change is atomic, and leaves it up > to Karaf to handle the update ordering as a batch - but the forced restart > is unfortunate. Is there any way get around this? Currently I am looking at > implementing a manual KAR deployer that does do these checks first, but I > don't want to reinvent the wheel. >
