Hi devs,

I need to have an Event that I can subscribe to that tells me when the DB is 
ready. This is for the activeinstalls module. I'd like to start some Quartz job 
when the DB is ready (I'm getting the unique id from the DB).

Thus I'd like to introduce a new DatabaseReadyEvent that's sent in 
XWiki.initXWiki() at the end of the method:

…
        String syntaxes = Param("xwiki.rendering.syntaxes", "xwiki/1.0");
        this.configuredSyntaxes = Arrays.asList(StringUtils.split(syntaxes, " 
,"));

        ObservationManager observationManager = Utils.getComponent((Type) 
ObservationManager.class);
        observationManager.addListener(this);

--> send the event here

…

Note that in the future we'll refactor DB initialization so that it's performed 
when XWiki starts rather than on the first request and we'll probably introduce 
a notion of init sequence and thus it'll probably be possible to just subscribe 
to Application Started Event with the proper sequence id. Or we'll introduce a 
ApplicationInitializer component role with the ability to say before or after 
which role it should execute (or use a priority).

However this is complex to achieve right now and I feel a DatabaseReadyEvent 
would fill the need in the meantime.

WDYT?

Thanks
-Vincent




_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to