Am Montag, den 01.10.2007, 16:01 +0200 schrieb Marcel Reutegger: > Felix Meschberger wrote: > > Just another question: Could the spellchecker be instantiated and > > injected into a running Jackrabbit instance ? > > AFAIK jackrabbit is not that flexible. the configuration is rather fixed. but
Yes, this is a long standing issue with Jackrabbit, actually ... > maybe we can come up with a list of components that can be configured or > deployed at runtime, while some of the components like persistence managers > are > probably only configurable at startup. We could add some sort of Module API, which would allow to inject additional Jackrabbit functionality. Of course, the internal Jackrabbit API available to such modules must be well defined and not just be "all Jackrabbit-core packages", because this would prevent effective modularization. Regarding PersistenceManagers: As these are used to back workspaces, the question is, do we want to implement API to shutdown workspaces - not just stopping idle workspaces but a method to stop a workspace, which may include forcing sessions (which is allowed as per the Spec !). And I am very much in favor of such a flexible solution, where we may "inject" persistence managers by just creating the workspaces (actually creating a workspace in this respect would be starting a workspace) and removing them again by stopping the workspaces. This would very much enhance the modularity and extensibility of Jackrabbit. Again, this turns out to be a question of an internal API. Such an API is essential to modularize Jackrabbit as a whole. And to be sure, this is not the same as the Jackrabbit API, which is intended to be used by client applications. This is an API used solely to extend Jackrabbit instances itself. > what are the requirements to be able to inject such a bundle? do we have to > implement certain interfaces or is a setter method sufficient? There is no requirement other than the mentioned Jackrabbit extension API. Whatever Jackrabbit provides to extend it may be used by bundles to plug into Jackrabbit. Regards Felix
