powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Работа с Quartz.
43 сообщений из 43, показаны все 2 страниц
Работа с Quartz.
    #39604188
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть такое
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
public class Xxx1 {


    public static void main(String[] args) throws IOException, SchedulerException {

        JobDetail job = JobBuilder
                .newJob(QuartzJob.class)
                .withIdentity("QuartzJob", "group1")
                .storeDurably()
                .build();

        Trigger trigger1 = TriggerBuilder
                .newTrigger()
                .withIdentity("trigger1", "group1")
                .withSchedule(CronScheduleBuilder
                        .cronSchedule("0/5 * * * * ?"))
                .forJob(job)
                .build();

        SchedulerFactory schedFact = new StdSchedulerFactory();
        Scheduler sched = schedFact.getScheduler();
        sched.start();

        sched.addJob(job, true);
        sched.scheduleJob(trigger1);
    }

    public class QuartzJob implements Job {

        @Override
        public void execute(JobExecutionContext context) throws JobExecutionException {
            System.out.println("0000000000000000000000000");

        }

    }
}


запускается , но не выводит
пишет
log4j:WARN No appenders could be found for logger (org.quartz.impl.StdSchedulerFactory).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

как без этого логера?
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604189
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадякак без этого логера?
"как" что? Как спрятать нытьё от log4j? Как перенаправить лог в system.out? Как подключить slf4j когда либа логирует в log4j?
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604191
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяSee http://logging.apache.org/log4j/1.2/faq.html#noconfig for more infoавтор Why do I see a warning about "No appenders found for logger" and "Please configure log4j properly"?

This occurs when the default configuration files log4j.properties and log4j.xml can not be found and the application performs no explicit configuration. log4j uses Thread.getContextClassLoader().getResource() to locate the default configuration files and does not directly check the file system. Knowing the appropriate location to place log4j.properties or log4j.xml requires understanding the search strategy of the class loader in use. log4j does not provide a default configuration since output to the console or to the file system may be prohibited in some environments. Also see FAQ: Why can't log4j find my properties in a J2EE or WAR application?.
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604194
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczКак перенаправить лог в system.out?для начала достаточно этого
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604197
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604213
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
подсунул xml
стал выводить
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
[INFO] 19 фев 04:33:54.584 PM main [org.quartz.core.QuartzScheduler]
Scheduler meta-data: Quartz Scheduler (v2.2.3) 'DefaultQuartzScheduler' with instanceId 'NON_CLUSTERED'
  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
  NOT STARTED.
  Currently in standby mode.
  Number of jobs executed: 0
  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.


[INFO] 19 фев 04:33:54.584 PM main [org.quartz.impl.StdSchedulerFactory]
Quartz scheduler 'DefaultQuartzScheduler' initialized from default resource file in Quartz package: 'quartz.properties'

[INFO] 19 фев 04:33:54.584 PM main [org.quartz.impl.StdSchedulerFactory]
Quartz scheduler version: 2.2.3

[INFO] 19 фев 04:33:54.584 PM main [org.quartz.core.QuartzScheduler]
Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started.

[ERROR] 19 фев 04:33:55.016 PM DefaultQuartzScheduler_QuartzSchedulerThread [org.quartz.core.ErrorLogger]
An error occured instantiating job to be executed. job= 'group1.QuartzJob'

org.quartz.SchedulerException: Problem instantiating class 'xxx1.Xxx1$QuartzJob' [See nested exception: java.lang.InstantiationException: xxx1.Xxx1$QuartzJob]
	at org.quartz.simpl.SimpleJobFactory.newJob(SimpleJobFactory.java:58)
	at org.quartz.simpl.PropertySettingJobFactory.newJob(PropertySettingJobFactory.java:69)
	at org.quartz.core.JobRunShell.initialize(JobRunShell.java:127)
	at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:375)
Caused by: java.lang.InstantiationException: xxx1.Xxx1$QuartzJob
	at java.lang.Class.newInstance(Class.java:427)
	at org.quartz.simpl.SimpleJobFactory.newJob(SimpleJobFactory.java:56)
	... 3 more
Caused by: java.lang.NoSuchMethodException: xxx1.Xxx1$QuartzJob.<init>()
	at java.lang.Class.getConstructor0(Class.java:3082)
	at java.lang.Class.newInstance(Class.java:412)
	... 4 more
[INFO] 19 фев 04:33:55.031 PM DefaultQuartzScheduler_QuartzSchedulerThread [org.quartz.simpl.RAMJobStore]
All triggers of Job group1.QuartzJob set to ERROR state.
что не нравится для нормальной работы?
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604222
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,

Только начал Java осваивать. Понимаю. QuartzJob у тебя вложеный не статический класс. Экзмпляр такого класса можно создать только при наличии экземпляра внешнего класса. Компилятор генерирует такой конструктор чтобы передать этот объект внешнего класса . А Quartz хочет от тебя дефолтный конструктор. Класс QuartzJob можно было объявить статическим.
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604229
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczТолько начал Java осваиватья просто взял готовый примеры, как есть :)
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604235
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяBlazkowiczТолько начал Java осваиватья просто взял готовый примеры, как есть :)
Уверен что вложеных классов в нём не было.
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604244
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczУверен что вложеных классов в нём не было.правильно уверен...
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604444
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот так работает
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
 public static void main(String[] args)  {
        try {
            myStartTime = formatter.parse("2018-02-19 22:42");
           
            JobDetail job = JobBuilder
                    .newJob(SimpleQuartzJob.class)
                    .withIdentity("SimpleQuartzJob", "group1")
                    .storeDurably()
                    .build();

            trigger = newTrigger()
                    .withIdentity("trigger", "group1")
                    .startAt(myStartTime) // some Date
                    .forJob("SimpleQuartzJob", "group1") // identify job with name, group strings
                    .build();


            SchedulerFactory schedFact = new StdSchedulerFactory();
            sched = schedFact.getScheduler();
            sched.start();

            sched.addJob(job, true);
            sched.scheduleJob(trigger);
        } catch (ParseException | SchedulerException ex) {
            Logger.getLogger(Xxx1.class.getName()).log(Level.SEVERE, null, ex);
        }
    }


как запустить этот же триггер в новое время после отработки в предыдущее время?
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604454
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604456
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,
это читал, но там нет как переназначить
Код: java
1.
2.
3.
4.
5.
  SimpleTrigger trigger = (SimpleTrigger) newTrigger()
    .withIdentity("trigger1", "group1")
    .startAt(myStartTime) // some Date
    .forJob("job1", "group1") // identify job with name, group strings
    .build();


как его запустить в новое время?
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604461
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,

Что такое "переназначить" я не знаю. Триггер один раз формируется, зачем ему что-то "переназначать".
Код: java
1.
2.
3.
  .withSchedule(simpleSchedule()
        .withIntervalInMinutes(5)
        .repeatForever())
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604466
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczвадя,

Что такое "переназначить" я не знаю. Триггер один раз формируется, зачем ему что-то "переназначать".
Код: java
1.
2.
3.
  .withSchedule(simpleSchedule()
        .withIntervalInMinutes(5)
        .repeatForever())


мне надо чтоб класс отработал еще многократно, в задаваемое время, время заранее не известно
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604467
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,
следуеще выполнени может быть и через минуту и через 6 минут
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604469
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. расписание вам неизвестно, но планировщик нужен?
Интересный подход.
Надо будет взять на вооружение.
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604488
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovТ.е. расписание вам неизвестно, но планировщик нужен?
Интересный подход.
Надо будет взять на вооружение.
назови это не расписанием и не планировщиком.
мне надо запускать событие в следующий раз через разное время, после его предыдущего совершения.
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604498
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяназови это не расписанием и не планировщиком.
мне надо запускать событие в следующий раз через разное время, после его предыдущего совершения.

Э-э-э я один тут вижу, что нужно запускать что-то по событию.
Причем логика события по которому происходит событие может быть теоретически любым.
ИМХО можно сделать так:
1) Создается "Job", который дергается раз в n времени (например каждый час, но можно и меньше)
2) Этот "Job" вызывает функцию, которое проверяет наступило "событие" или нет
3) Если "событие" наступило, то вызывает функцию, которая делает что-то полезное
...
4) PROFIT
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604499
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgulвадяназови это не расписанием и не планировщиком.
мне надо запускать событие в следующий раз через разное время, после его предыдущего совершения.

Э-э-э я один тут вижу, что нужно запускать что-то по событию.
Причем логика события по которому происходит событие может быть теоретически любым.
ИМХО можно сделать так:
1) Создается "Job", который дергается раз в n времени (например каждый час, но можно и меньше)
2) Этот "Job" вызывает функцию, которое проверяет наступило "событие" или нет
3) Если "событие" наступило, то вызывает функцию, которая делает что-то полезное
...
4) PROFIT
я наверно разучился писать на русском....
попробую ещё раз
есть класс, который надо вызывать через разные промежутки времени, желательно это делать не через задержку, а указанием времени вызова.
желательно иметь возможность установки нескольких таких «триггеров» для запуска.
таких запусков может быть бесконечное число раз.
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604503
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovТ.е. расписание вам неизвестно, но планировщик нужен?
Интересный подход.
Надо будет взять на вооружение.

Это сарказм? Я часто такое встречал. В одной учетной системе, например, надо было отправлять письма в указанное менеджерами время. Записей -- пара-тройка штук в неделю, точность указания времени -- пять минут. Выполнять запрос каждые 5 минут, чтобы три раза в день угадать как-то не понравилось. Запуск по расписанию - самое то. Главное, правильно сменить время запуска при изменении данных.

По теме. rescheduleJob() с новым триггером разве не то, что надо?
http://www.quartz-scheduler.org/documentation/quartz-2.x/cookbook/UpdateTrigger.html
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604517
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander A. Sak,
спасибо за направление, только там странный совет... но на основании него получилось
основной
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
public class Xxx1 {

    public static SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm");

    static Date myStartTime;
    static SimpleTrigger trigger;
    static Scheduler sched;
    static JobDetail job;

    public static void main(String[] args) {
        try {
            myStartTime = formatter.parse("2018-02-20 09:52");

            job = JobBuilder
                    .newJob(SimpleQuartzJob.class)
                    .withIdentity("SimpleQuartzJob", "group1")
                    .storeDurably()
                    .build();

            trigger =  (SimpleTrigger) newTrigger()
                    .withIdentity("trigger", "group1")
                    .startAt(myStartTime) // some Date
                    .forJob("SimpleQuartzJob", "group1") // identify job with name, group strings
                    .build();

            SchedulerFactory schedFact = new StdSchedulerFactory();
            sched = schedFact.getScheduler();
            sched.start();

            sched.addJob(job, true);
            sched.scheduleJob(trigger);
        } catch (ParseException | SchedulerException ex) {
            Logger.getLogger(Xxx1.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

}



"дежурный"
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
public class SimpleQuartzJob implements Job {

    public SimpleQuartzJob() {
    }
    
    static int f = 0;  // ограничитель запусков

    @Override
    public void execute(JobExecutionContext context) throws JobExecutionException {
        try {
            System.out.println("In SimpleQuartzJob - executing its JOB at " + new Date() + " by " + context.getTrigger().getStartTime());
            myStartTime = formatter.parse("2018-02-20 09:53.020");
            if (f == 0) {
                f = 1;
                Trigger oldTrigger = sched.getTrigger(triggerKey("trigger", "group1"));

                TriggerBuilder tb = oldTrigger.getTriggerBuilder();

                trigger = (SimpleTrigger) tb
                        .startAt(myStartTime) 
                        .forJob("SimpleQuartzJob", "group1") 
                        .build();

                sched.rescheduleJob(oldTrigger.getKey(), trigger);

            }
        } catch (ParseException | SchedulerException ex) {
            Logger.getLogger(SimpleQuartzJob.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}

...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604535
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander A. SakЭто сарказм?Да.
Когда есть события без чёткого расписания, логичным будет цикл с ожиданием на "объекте события".
Вместо странных претензий к планировщику.
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604538
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovКогда есть события без чёткого расписания, логичным будет цикл с ожиданием на "объекте события".что значит ожидание на "объекте события"?
Basil A. SidorovВместо странных претензий к планировщику.и что значит странных?
нужно было просто понять как работать с этим планировщиком.
к сожалению доки не слишком охватывают возможности.
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604541
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадячто значит ожидание на "объекте события"?когда от тебя будет ТЗ тогда и поймешь, кто именно устанавливает будильник.

вадянужно было просто понять как работать с этим планировщиком.
Поэтому разговор выше лишен смысла.
Изучай.
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604545
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123когда от тебя будет ТЗ тогда и поймешь, кто именно устанавливает будильник.я написал кто и когда. тебе чтоб понять нужно разжевать?
и что за глупый наезд? что мне надо было я добился.
Petro123Поэтому разговор выше лишен смысла.
Изучай.если ты не можешь дать толковый совет - зачем ерунду пишешь?

Alexander A. Sak прекрасно понял и дал ссылку где копать.
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604553
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Какой наезд? Больной?
Ты не понял про цикл ожидания. Я его ответ понял.
Тебя всё в архитектуру тянет.
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604569
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Ты не понял про цикл ожидания.я не понял для чего он здесь нужен..
запускать раз в минуту, проверять что-то? проверять не подошло ли время?
я надеюсь , что в Quartz не пересчитывают в разницу во времени для sleep.
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604571
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадячто значит ожидание на "объекте события"?Натурально - сладкая парочка wait / notify .
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604581
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяя не понял для чего он здесь нужен..это нужно архитекторам чтобы решить задачу несколькими способами.
У тебя обычно только один способ решения.
Тут нужно вводить акторов(вики) и источников событий.
Т.к. класс обычно тупой и не может быть источником.
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604583
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovНатурально - сладкая парочка wait / notify .я надеюсь , что в Quartz не пересчитывают в разницу во времени для wait/notify. .
вадячерез разные промежутки времени, желательно это делать не через задержку, а указанием времени вызова.
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604589
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадякак запустить этот же триггер в новое время после отработки в предыдущее время? Updating a trigger
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604592
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123это нужно архитекторам чтобы решить задачу несколькими способами.
У тебя обычно только один способ решения.
Тут нужно вводить акторов(вики) и источников событий.
Т.к. класс обычно тупой и не может быть источником.мне нужно (чтоб не долбить соседний сервер запросами) в определённое время сделать запрос и получить данные, если данные не готовы сделать запрос через меньший промежуток, если готовы задать время на получение следующих данных через больший промежуток.
данные должны браться из листа, а лист может быть заполнен , а может и нет, и может пополняться
но всё это не нужно для теста возможностей Quartz . надо было узнать синтаксис задания времени для нового срабатывания триггера
что и было сделано
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604595
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадячто и было сделаноза кодирование 5. За архитектуру и отчасти программирование 3 т.к. задача решена одним способом.
В вузе не учился чо ли?
Ко мне какие вопросы? Закрывай топик.
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604597
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадямне нужно (чтоб не долбить соседний сервер запросами) в определённое время сделать запрос и получить данные, если данные не готовы сделать запрос через меньший промежуток, если готовы задать время на получение следующих данных через больший промежуток.
данные должны браться из листа, а лист может быть заполнен , а может и нет, и может пополняться
но всё это не нужно для теста возможностей Quartz . надо было узнать синтаксис задания времени для нового срабатывания триггера
что и было сделано
Это всё можно запилить и без Quartz на Executor-ах. От Quartz есть польза когда задачи надо персистить или когда триггер должен срабатывать аккуратно в отношении календарного времени.
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604602
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Usman Updating a trigger
уже показали и уже сделал 21203632
там примеры с ошибками :)
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604609
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczОт Quartz есть польза когда задачи надо персистить или когда триггер должен срабатывать аккуратно в отношении календарного времени.что и надо
Petro123задача решена одним способом.тебе надо придраться?
я решение выбрано- надо сделать его реализацию
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604632
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяжелательно это делать не через задержку, а указанием времени вызова.wait - не задержка.
Это ожидание, которое более-менее изощрённым образом использует системный планировщик.
Более эффективного способа для достаточно больших интервалов (от сотни миллисекунд - единицы секунд), в общем-то, не существует.
Ну и точность - вполне приемлемая. Для вашей задачи - тем более.
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604635
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovБолее эффективного способа для достаточно больших интервалов (от сотни миллисекунд - единицы секунд), в общем-то, не существует.возможны минуты и даже часы
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604641
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадявозможны минуты и даже часы"От" == минимальный интервал времени, для которого способ "вполне эффективен".
Интервал ожидания может исчисляться и сутками, если вас устроит точность.

P.S. Нет, я не измерял точность, но эрудиция и банальная логика подсказывают: "единицы-десятки секунд на суточных интервалах".
Ну и единицы-доли секунд для часовых ожиданий.
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604649
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorovвадявозможны минуты и даже часы"От" == минимальный интервал времени, для которого способ "вполне эффективен".
Интервал ожидания может исчисляться и сутками, если вас устроит точность.

P.S. Нет, я не измерял точность, но эрудиция и банальная логика подсказывают: "единицы-десятки секунд на суточных интервалах".
Ну и единицы-доли секунд для часовых ожиданий.
странно, когда я использую минимум кода - я не прав, когда я использую библиотеку - тоже не прав...
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604669
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Да не вставай ты в боксерскую стойку сразу.
Изучаешь, и отлично.
У тебя первые 2 топика без флейма).
С почином!
...
Рейтинг: 0 / 0
Работа с Quartz.
    #39604707
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадястранно, когда я использую минимум кода - я не прав, когда я использую библиотеку - тоже не прав...Вот именно, что странно: вы, при вашем минимализме используете целую библиотеку там, где вполне достаточно десятка тривиальных строчек.
"Вы, батенька ..."
P.S.
Код: plaintext
1.
2.
java Test 300
  Timeout: 300000 ms
 Interval: 300026 ms
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
public class Test
{
  public static void main(String[] args)
  {
    long timeout = 60; // seconds
    try { timeout = Long.parseLong(args[0]); }
    catch (RuntimeException e) {}
    finally {}

    timeout *= 1000; // to milliseconds
    long interval = System.currentTimeMillis();

    System.out.println(" Timeout: " + timeout  + " ms");
    try { Thread.currentThread().join(timeout); }
    catch (InterruptedException e) {}
    finally {
      interval = System.currentTimeMillis() - interval;
      System.out.println("Interval: " + interval + " ms");
    }
  }
}

...
Рейтинг: 0 / 0
43 сообщений из 43, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Работа с Quartz.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]