I don't understand why you use XWiki#getXWiki, this method job is to initialize everything related to the request which you usually don't care in a background thread (in as you can see in your case does not work since you don't have an request in that thread).
A good helper when you need a usable XWikiContext wherether you are in the XWikiContext provider as in: @Inject Provider<XWikiContext> xcontext; it gives you the current context in a request thread and one suitable for background thread otherwise. On Mon, Sep 30, 2013 at 11:57 PM, Jeremie BOUSQUET <[email protected]> wrote: > Hello, > > I'm trying to save a document from inside a job [1] execution, as follows > roughly: > > xwiki.getXWiki(context).saveDocument(doc, comment, context); > > Nothing really special ... It used to work (out of a job), but now it > throws NPE: > > <trace>com.xpn.xwiki.XWiki.stripSegmentFromPath(XWiki.java:4725)</trace> > <trace>com.xpn.xwiki.XWiki.getRequestWikiName(XWiki.java:566)</trace> > <trace>com.xpn.xwiki.XWiki.getXWiki(XWiki.java:492)</trace> > <trace>org.xwiki.contrib.mailarchive.internal.persistence.XWikiPersistence.saveAsUser(XWikiPersistence.java:678)</trace> > > Checking source code, it happens there (sorry, I roughly decompiled it): > > /* 560 */ if ("1".equals(Param("xwiki.virtual.usepath", "1"))) { > /* 561 */ String uri = request.getRequestURI(); > /* 562 */ if (LOGGER.isDebugEnabled()) { > /* 563 */ LOGGER.debug("Request uri is: " + uri); > /* */ } > /* */ > /* 566 */ uri = stripSegmentFromPath(uri, request.getContextPath()); > > From the logs in DEBUG, I see: > > "Request uri is: null" > > ... which is kind of logical I believe, as I'm in a Thread triggered by > another thread, and not directly in an http request. > > I'm not sure of what I should do from here ... And if my analysis is > correct, or if something else is wrong. Maybe I should do something with > ExecutionContext ... > > Thanks, > > BR, > Jeremie > > [1] http://extensions.xwiki.org/xwiki/bin/view/Extension/Job+Module > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs -- Thomas Mortagne _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

