Thanks!

        jobDetail = new JobDetail("AccountRemoverJob",
Scheduler.DEFAULT_GROUP, AccountRemoverJob.class);

        jobDetail.getJobDataMap().put("accountRemover", accountRemover);
        trigger.setJobDataMap(jobDetail.getJobDataMap());

did the trick.

-Borut

2009/5/21 Christian Senk <senk.christ...@googlemail.com>

> Hi,
>
> i recently used this module by chenillekit also.
> I think you use the JobDataMap in a wrong way.
>
> Instantiate the JobDetail and then use the JobDataMap from the jobDetail.
>
> jobDetail = new JobDetail("AccountRemoverJob", Scheduler.DEFAULT_GROUP,
> AccountRemoverJob.class);
>
> jobDetail.getJobDataMap().put(...);
>
> It works for me.
> Greetings :)
>
> Borut Bolčina schrieb:
>
>  Hi,
>>
>> I am trying to get a reference to one of my services in the class which
>> implements the Job interface, but getting NPE because
>>
>> AccountRemover accountRemover = (AccountRemover)
>> map.get("accountRemover");
>> accountRemover.removeOldNonVerifiedAccounts();
>>
>> accountRemover is null.
>>
>> AppModule.java
>> ============
>>    public static void bind(ServiceBinder binder) {
>>        binder.bind(AccountRemover.class);
>>    }
>>
>>    public static void contributeQuartzSchedulerManager(AccountRemover
>> accountRemover,
>>            OrderedConfiguration<JobSchedulingBundle> configuration) {
>>        configuration.add("removeOldNonverifiedAccounts", new
>> RemoveOldNonverifiedAccountsBundle(accountRemover));
>>    }
>>
>> RemoveOldNonverifiedAccountsBundle.java
>> ===============================
>> public class RemoveOldNonverifiedAccountsBundle implements
>> JobSchedulingBundle {
>>    private JobDetail jobDetail;
>>    private Trigger trigger;
>>    private final Logger logger =
>> LoggerFactory.getLogger(RemoveOldNonverifiedAccountsBundle.class);
>>    private final AccountRemover accountRemover;
>>
>>    public RemoveOldNonverifiedAccountsBundle(AccountRemover
>> accountRemover)
>> {
>>        this.accountRemover = accountRemover;
>>        createBundle();
>>    }
>>
>>    private void createBundle() {
>>        logger.info("Creating bundle");
>> //        long period = 3 * 24 * 60 * 60 * 1000;
>>        long period = 5000;
>>
>>        trigger = new SimpleTrigger("AccountRemoverJobTrigger",
>> Scheduler.DEFAULT_GROUP, new Date(), null,
>>            SimpleTrigger.REPEAT_INDEFINITELY, period);
>>
>>        JobDataMap jobDataMap = new JobDataMap();
>>        logger.info("accountRemover:"+accountRemover);
>>        jobDataMap.put("accountRemover", accountRemover);
>>        trigger.setJobDataMap(jobDataMap);
>>
>>        jobDetail = new JobDetail("AccountRemoverJob",
>> Scheduler.DEFAULT_GROUP, AccountRemoverJob.class);
>>    }
>>
>> ...
>> }
>>
>>
>> The log file prints:
>> INFO [21 maj 2009 15:19:42.182] [RemoveOldNonverifiedAccountsBundle]
>> accountRemover:<Proxy for
>> AccountRemover(si.najdi.identity.server.services.AccountRemover)>
>>
>>
>> What have I wired wrong? I am using 5.0.18.
>>
>> Thanks,
>> Borut
>>
>>
>> 2009/3/31 Daniel Jones <d...@murieston.com>
>>
>>
>>
>>> Got this working in the end.
>>>
>>> Put my service reference in the JobDataMap and accessed it like this from
>>> within the job.
>>>
>>> public void execute(JobExecutionContext pContext) throws
>>> JobExecutionException {
>>>               IDataSource aDataSource = (IDataSource)
>>> pContext.getJobDetail().getJobDataMap().get("datasource");
>>>               aDataSource.updateFromEmail();
>>>       }
>>>
>>> Daniel
>>> --
>>> View this message in context:
>>>
>>> http://www.nabble.com/T5---Chenillekit-Quartz---Services-tp22787045p22796363.html
>>> Sent from the Tapestry - User mailing list archive at Nabble.com.
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>>
>>>
>>>
>>>
>>
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>

Reply via email to