Don't know how you use the JobDetail in the
Object implementing the Job interface by Quartz but in my
case the following call:

trigger.setJobDataMap(jobDetail.getJobDataMap());


was dispensable :) But this accidental i think.
Nice weekend to all readers ^.^

Borut Bolčina schrieb:
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





---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to