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
>
>

Reply via email to