Oups... ;)
 No I'm on 4.2, but I suppose I'll be on 5.x soon...
 Le 26 sept. 2013 18:52, "Thomas Mortagne" <thomas.mortagne(a)xwiki.com> a
 écrit :
  addJob(Job job) not addJob(String jobType, Request request) ;)
 But maybe you are not on 5.1 yet.
 On Thu, Sep 26, 2013 at 6:28 PM, Jeremie BOUSQUET
 <jeremie.bousquet(a)gmail.com> wrote:
 > 2013/9/26 Thomas Mortagne <thomas.mortagne(a)xwiki.com>
 >>
 >> On Thu, Sep 26, 2013 at 5:13 PM, Thomas Mortagne
 >> <thomas.mortagne(a)xwiki.com> wrote:
 >> > On Thu, Sep 26, 2013 at 4:40 PM, Jeremie BOUSQUET
 >> > <jeremie.bousquet(a)gmail.com> wrote:
 >> >> 2013/9/26 Thomas Mortagne <thomas.mortagne(a)xwiki.com>
 >> >>
 >> >>> On Thu, Sep 26, 2013 at 1:08 PM, Jeremie BOUSQUET
 >> >>> <jeremie.bousquet(a)gmail.com> wrote:
 >> >>> > 2013/9/26 Thomas Mortagne <thomas.mortagne(a)xwiki.com>
 >> >>> >
 >> >>> >> On Thu, Sep 26, 2013 at 11:20 AM, Jeremie BOUSQUET
 >> >>> >> <jeremie.bousquet(a)gmail.com> wrote:
 >> >>> >> > Hello,
 >> >>> >> >
 >> >>> >> > I'm trying to use the Job Module [1] for my own
needs.
 >> >>> >> > I know some of its APIs are marked as unstable, but
well I
 > wanted to
 >> >>> give
 >> >>> >> > it a try.
 >> >>> >> >
 >> >>> >> > I'm on a XWiki 4.5.2 instance currently.
 >> >>> >> >
 >> >>> >> > So I created some dummy interface:
 >> >>> >> >
 >> >>> >> > @Role
 >> >>> >> > public interface ILoadingJob extends Job
 >> >>> >> > {
 >> >>> >> > }
 >> >>> >>
 >> >>> >> Job is already a @Role so I don't understand why
override it
 with
 >> >>> >> ILoadingJob.
 >> >>> >>
 >> >>> >
 >> >>> > I completely removed the ILoadingJob interface, but still the
 same
 > issue
 >> >>> > occurs.
 >> >>>
 >> >>> Appart from this I did not seen anything wrong in your code. Are
 you
 >> >>> able to do this.componentManager.getInstance(Job.class,
 >> >>> "mailarchivejob"); ?
 >> >>>
 >> >>
 >> >> I added the line of code, that revealed a number of errors in my
 > component.
 >> >> I fixed them, and now this getInstance(...) appropriately returns a
 >> >> LoadingJob object. I've put the code just before my code calling
 >> >> executeJob().
 >> >> But even after these corrections, I still get the same issue on
 >> >> executeJob(). BTW, I have same problem when calling addJob().
 >> >>
 >> >>
 >> >>>
 >> >>> Is you jar installed as extension ?
 >> >>>
 >> >>
 >> >> Yes it is.
 >> >> As I'm currently using some SNAPSHOT version, I installed it once
 with
 > EM
 >> >> (linked to a local nexus repository), and now I patch the jar under
 >> >> $XWIKI_DATA_DIR/data/extensions/repository/..., during server
 restart.
 >> >
 >> > That's it then, I re-checked the DefaultJobManager and it only look
 at
 >> > root component manager. Fixing it in 5.2RC1.
 >>
 >> In the meantime you can use addJob(Job).
 >
 > addJob(Job) has the same problem:
 >
 > org.xwiki.job.JobException: Failed to lookup any Job for role hint
 > [mailarchivejob]
 >         at
 >
 org.xwiki.job.internal.DefaultJobManager.createJob(DefaultJobManager.java:185)
 > ~[xwiki-commons-job-4.5.2.jar:na]
 >         at
 >
 org.xwiki.job.internal.DefaultJobManager.addJob(DefaultJobManager.java:208)
 > ~[xwiki-commons-job-4.5.2.jar:na]
 >         at
 >
org.xwiki.contrib.mailarchive.script.MailArchiveScriptService.createLoadingJob(MailArchiveScriptService.java:140)
 >
 [org.xwiki.contrib.mailarchive%253Axwiki-contrib-mailarchive-api-0.3-SNAPSHOT.jar:na]
 >
 >
 >>
 >>
 >> >
 >> >>
 >> >>
 >> >>>
 >> >>> >
 >> >>> >
 >> >>> >>
 >> >>> >> >
 >> >>> >> > A Job implementation:
 >> >>> >> >
 >> >>> >> > @Component
 >> >>> >> > @Named(LoadingJob.JOBTYPE)
 >> >>> >> > public class LoadingJob extends
AbstractJob<DefaultRequest>
 > implements
 >> >>> >> > ILoadingJob, Initializable
 >> >>> >> > {
 >> >>> >> >     public static final String JOBTYPE =
"mailarchivejob";
 >> >>> >> >
 >> >>> >> >     // ...
 >> >>> >> > }
 >> >>> >> >
 >> >>> >> > In debug mode, I run the following:
 >> >>> >> >
 >> >>> >> >
 >> >>>
 >
 this.componentManager.getComponentDescriptorList(org.xwiki.job.Job.class)
 >> >>> >> >
 >> >>> >> > It returns:
 >> >>> >> >
 >> >>> >> > [implementation =
 > [org.xwiki.contrib.mailarchive.internal.LoadingJob],
 >> >>> >> > instantiation = [PER_LOOKUP], implementation =
 >> >>> >> > [org.xwiki.extension.job.internal.UpgradePlanJob],
... ]
 >> >>> >> >
 >> >>> >> > So it seems OK.
 >> >>> >> >
 >> >>> >> > I have the following code to create and execute my
Job:
 >> >>> >> >
 >> >>> >> >         DefaultRequest request = new
DefaultRequest();
 >> >>> >> >         request.setId("test");
 >> >>> >> >         request.setInteractive(false);
 >> >>> >> >         // ... other properties set
 >> >>> >> >         LoadingJob job = (LoadingJob)
 >> >>> >> > jobManager.executeJob("mailarchivejob",
request);
 >> >>> >> >
 >> >>> >> > But this code fails with following stack trace:
 >> >>> >> >
 >> >>> >> > org.xwiki.job.JobException: Failed to lookup any Job
for role
 > hint
 >> >>> >> > [mailarchivejob]
 >> >>> >> >         at
 >> >>> >> >
 >> >>> >>
 >> >>>
 >
 org.xwiki.job.internal.DefaultJobManager.createJob(DefaultJobManager.java:185)
 >> >>> >> >         at
 >> >>> >> >
 >> >>> >>
 >> >>>
 >
 org.xwiki.job.internal.DefaultJobManager.addJob(DefaultJobManager.java:208)
 >> >>> >> >         at
 >> >>> >> >
 >> >>> >>
 >> >>>
 >
 org.xwiki.job.internal.DefaultJobManager.executeJob(DefaultJobManager.java:194)
 >> >>> >> >         at
 >> >>> >> >
 >> >>> >>
 >> >>>
 >
org.xwiki.contrib.mailarchive.internal.MailArchiveScriptService.createLoadingJob(MailArchiveScriptService.java:112)
 >> >>> >> >         at
 >> >>> >> >
 >> >>> >>
 >> >>>
 >
org.xwiki.contrib.mailarchive.internal.MailArchiveScriptService.load(MailArchiveScriptService.java:94)
 >> >>> >> > [...]
 >> >>> >> > Caused by:
 org.xwiki.component.manager.ComponentLookupException:
 > Can't
 >> >>> >> find
 >> >>> >> > descriptor for the component [role = [interface
 > org.xwiki.job.Job]
 >> >>> hint =
 >> >>> >> > [mailarchivejob]]
 >> >>> >> >         at
 >> >>> >> >
 >> >>> >>
 >> >>>
 >
org.xwiki.component.embed.EmbeddableComponentManager.getComponentInstance(EmbeddableComponentManager.java:355)
 >> >>> >> >         at
 >> >>> >> >
 >> >>> >>
 >> >>>
 >
org.xwiki.component.embed.EmbeddableComponentManager.getInstance(EmbeddableComponentManager.java:161)
 >> >>> >> >         at
 >> >>> >> >
 >> >>> >>
 >> >>>
 >
 org.xwiki.job.internal.DefaultJobManager.createJob(DefaultJobManager.java:183)
 >> >>> >> > [...]
 >> >>> >> >
 >> >>> >> > I also tried to manually register my custom Job
component,
 in the
 >> >>> >> > initialize() of a side component (I checked that this
code
 got
 >> >>> executed
 >> >>> >> > previously to job creation), but with no different
result:
 >> >>> >> >
 >> >>> >> > // Register custom job
 >> >>> >> >
 >> >>> >> >
 >> >>> >>
 >> >>>
 >
this.componentManager.registerComponent(this.componentManager.getComponentDescriptor(Job.class,
 >> >>> >> >                 "mailarchivejob"));
 >> >>> >> >
 >> >>> >> > Do you see something wrong in my approach ?
 >> >>> >> >
 >> >>> >> > Thanks,
 >> >>> >> > Jeremie
 >> >>> >> > _______________________________________________
 >> >>> >> > users mailing list
 >> >>> >> > users(a)xwiki.org
 >> >>> >> > 
http://lists.xwiki.org/mailman/listinfo/users
 >> >>> >>
 >> >>> >>
 >> >>> >>
 >> >>> >> --
 >> >>> >> Thomas Mortagne
 >> >>> >> _______________________________________________
 >> >>> >> users mailing list
 >> >>> >> users(a)xwiki.org
 >> >>> >> 
http://lists.xwiki.org/mailman/listinfo/users
 >> >>> >>
 >> >>> > _______________________________________________
 >> >>> > users mailing list
 >> >>> > users(a)xwiki.org
 >> >>> > 
http://lists.xwiki.org/mailman/listinfo/users
 >> >>>
 >> >>>
 >> >>>
 >> >>> --
 >> >>> Thomas Mortagne
 >> >>> _______________________________________________
 >> >>> users mailing list
 >> >>> users(a)xwiki.org
 >> >>> 
http://lists.xwiki.org/mailman/listinfo/users
 >> >>>
 >> >> _______________________________________________
 >> >> users mailing list
 >> >> users(a)xwiki.org
 >> >> 
http://lists.xwiki.org/mailman/listinfo/users
 >> >
 >> >
 >> >
 >> > --
 >> > Thomas Mortagne
 >>
 >>
 >>
 >> --
 >> Thomas Mortagne
 >> _______________________________________________
 >> users mailing list
 >> users(a)xwiki.org
 >> 
http://lists.xwiki.org/mailman/listinfo/users
 > _______________________________________________
 > users mailing list
 > users(a)xwiki.org
 > 
http://lists.xwiki.org/mailman/listinfo/users
 --
 Thomas Mortagne
 _______________________________________________
 users mailing list
 users(a)xwiki.org
 
http://lists.xwiki.org/mailman/listinfo/users