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