Hi all, I was hoping to extend Fuseki so that I can POST to a servlet that will cause the config file to be reloaded.
The full requirements would be: * Servlets are added or removed as necessary * Sync and forget about any datasets that are no longer referenced. * Don't sync any datasets that are still in use * Requests already in progress are allowed to finish Assuming this isn't stupid, I *think* the steps that would need to take place are: 1) Determine a new list of services by calling FusekiConfig.configure(fusekiConfigFile). This will also open any datasets that weren't previously open. 2) Update the servlet mapping to reflect the new list of services. This will probably want doing by playing with ServletHandler.setServletMapping() 3) Get hold of the CachingTDBMaker if it's in use, sync any datasets which are no longer needed, and remove them from the cache. This probably wants encapsulating in a locked block, with requests that can't get the lock given a 409 Conflict to say that it's already in process. At the moment CachedTDBMaker doesn't expose a list of things in its cache, which would be needed for (3). I also don't know how this might work with datasets that aren't provided by TDB; what else might I need to consider? If this seems like a Good Idea (or at least, not a Bad Idea), I'll create an issue in JIRA and start sticking some code in GitHub… All the best, Alex
