Hi, I try to initialize and start a service when my webapp start.
My service is a simple Quartz scheduler with a job. But i've some trouble to start the service. As i can see Tapestry IOC use lazy initialization so my service is build only when used. My code in my Appodule.java is like : // The scheduler public Scheduler buildScheduler() throws SchedulerException { SchedulerFactory schedulerFactory = new StdSchedulerFactory(); Scheduler scheduler = schedulerFactory.getScheduler(); scheduler.start(); return scheduler; } // Register my service public static void bind(ServiceBinder binder) { binder.bind(IndexScheduler.class, IndexSchedulerImpl.class); } // The trigger public Trigger buildTrigger() { return TriggerUtils.makeMinutelyTrigger(5); } My IndexSchedulerImpl take two contructor's parameters : scheduler and trigger. The probleme is my object is never instanciate if nobody call us (lazy initialization) I reach my goal if i pass my indexscheduler in a method used by tapestry like contributeRequestHandler(OrderedConfiguration<RequestFilter> configuration ... IndexScheduler indexScheduler) and add @EagerLoad to my bind method. But i'm sure there is a more clean practice to reach my goal. Thank's.