[ nemnesic @ 08.08.2008. 19:53 ] @
potrebno mi je da rasporedim/zakazem (ne znam koji je nas termin za "schedule a job") u java.

nasao sam Quartz http://www.opensymphony.com/quartz/

jel neko radio ovo? ili nesto slicno.
potrebno mi je da mogu da dinamicki zakazem (XML) kada ce koja classa da se execute-uje.

hvala
nn
[ anon315 @ 08.08.2008. 21:56 ] @
Quartz je majka za to.

Pogledaj Spring podrsku za Quartz, super je ;)
[ mgifos @ 12.08.2008. 22:50 ] @
Cao,

Nisam bas najbolje shvatio sta znaci dinamicki, ali ja sam imao slican problem (postojala potreba da se scheduling vrsi na osnovu podataka iz baze koji se mogu promeniti iz web-aplikacije) i to sam radio ovako nekako:

Code:

    private void reschedule(final DeliverySchedule schedule, final Scheduler scheduler, boolean initial) {
        try {
            final JobDetailBean jobDetail = createJobDetail(schedule);
            scheduler.unscheduleJob(schedule.getName(), GROUP_NAME);
            Trigger trigger = createTriggerFromSchedule(schedule);
            scheduler.scheduleJob(jobDetail, trigger);
        } catch (Throwable e) {
        }
    }


Neke stvari sam izbacio da ne bune, a DeliverySchedule je neki moj bean koji punim iz baze. Vidi jos moze li ti ova metoda sta pomoci:

http://www.opensymphony.com/qu...g.String,%20org.quartz.Trigger)

Znam, linkovi sa zagradama bas i ne funkcionisu najbolje, pa se odskroluj dole do rescheduleJob metode ;)

Nadam se da ce ovo pomoci.
[ nemnesic @ 13.08.2008. 02:56 ] @
hvala puno na odgovorima ali posle 24 sata igranjem sa Quartz javadocs
nasao sam resenje.
post cu ga sutra.
pozdrav
nn
[ nemnesic @ 13.08.2008. 15:55 ] @
@mgifos
uradio sam nessto slicno kao tvoje resenje

setovao sam prvo jdbcjobstore
napravio DB tabele
dodao u web.xml:

Code:

<servlet>
         <servlet-name>
             QuartzInitializer
         </servlet-name>
         <display-name>
             Quartz Initializer Servlet
         </display-name>
         <servlet-class>
             org.quartz.ee.servlet.QuartzInitializerServlet
         </servlet-class>
         <load-on-startup>
             1
         </load-on-startup>
         <init-param>
             <param-name>config-file</param-name>
             <param-value>/quartz.properties</param-value>
         </init-param>
         <init-param>
             <param-name>shutdown-on-unload</param-name>
             <param-value>true</param-value>
         </init-param>
         <init-param>
             <param-name>start-scheduler-on-load</param-name>
             <param-value>true</param-value>
         </init-param>
     </servlet>


Posle toga je sve bilo "prosto ko pasulj" :)

iz ServletContext nadjem StdSchedulerFactory
pa odatle Scheduler
ostalo je sve lako.

E sada, kakav je Quartz sto se performance tiche?
Da li non stop ide do DB da gleda tablele ili ne?
Kako system izdrzava sve to?

pozdrav!
nn
[ dejanet @ 22.08.2008. 08:53 ] @
Absolutno se slažem da je Quartz majka.

Kod velikog broja job-ova i sa većom frekvencijom izvršenja treba voditi računa o redosledu i mogućem preplitanju istih (sa stanovišta vaše business logike) . Ako se radi sa bazom , obavezno na finally zatvarati conn,smtp,rs, obj=null moja preporuka za veće komplikovane projekte dići db na persistance nivo (OJB,Hibernate)..

Takodje obavezno nacrtati Seq. diagram job-ova.