![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Zamuta |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 18.1.2006 Репутация: 4 Всего: 6 |
Всем привет....
Вопрос для тех кто работал с Quartz Job Scheduling Framework. Долго не решался спросить об этом. Вроде всё кажется просто, создаём планировщик, запускаем поток и т.д....Но не получается.... 1.Какие основные методы необходимо реализовывать у quartz для работы с jsf? и для работы вообще? 2. Где находится спусковой механизм? В методе run или exucute ? 3. Что должен знать человек впервые взявшийся за quartz? Подводные камни, скажем так. Пытаюсь использовать quartz в качестве бина + jsf. java.util.timer не предлагать.... Это сообщение отредактировал(а) Zamuta - 5.1.2007, 17:00 -------------------- Thank you opensource. |
|||
|
||||
powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 28 Всего: 159 |
у них в дистрибе идет много демок, посмотри их. И туториал тоже есть. Но лучше все таки демки посмотреть. Что за "спусковой механизм"? Чтобы реализовать задачу (Job) нежно имплементривать интерфейс org.quartz.Job который в свою очередь содержит метод execute(JobExecutionContext context) - его реализация будет выполнена. А время и период выполнения задается с помощью триггера. |
|||
|
||||
Zamuta |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 18.1.2006 Репутация: 4 Всего: 6 |
Как можно проверить работу кварца? Я делаю так. Ошибок нигде нет, но и результата тоже.
![]()
-------------------- Thank you opensource. |
||||
|
|||||
powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 28 Всего: 159 |
У меня вой код выполнился.
![]() ![]() Это сообщение отредактировал(а) powerOn - 6.1.2007, 14:26 |
|||
|
||||
Zamuta |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 18.1.2006 Репутация: 4 Всего: 6 |
Странно. У меня в консоли пусто.....
Решил вывести на страницу вот так:
Ну а на странице само собой делаю у outputtext value=#{MyJob.text} , всё равно никакого результата. powerOn, скажи пожалуста, никаких доп. конфигурационных файлов ты не использовал? т.е. просто попробовал выполнить мой код и в консоли получил результат? -------------------- Thank you opensource. |
|||
|
||||
powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 28 Всего: 159 |
Да все как у тебя, только класс MyJob и класс MyTrigger лежат в разных не пустых пакетах, типа: aaa.MyJob bbb.MyTrigger Никаких конфигурационных файлов я не добавлял. К проекту были подключены следующие библиотеки: quartz-all-1.6.0.jar commons-logging.jar jta.jar commons-collections-3.1.jar эти либы я взял из quartz дистриба. Находятся они в папках quartz/lib/core/ и quartz/lib/build |
|||
|
||||
Zamuta |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 18.1.2006 Репутация: 4 Всего: 6 |
powerOn, если я создаю простое J2SE application (не jsf), то у меня всё работает, даже если оба файла лежат в одном пакете, а если создаю jsf и пытаюсь получить в outputtext компоненте значение вот так:
тогда получаю пустую страницу и в консоли тоже пусто.... ![]() Не мог бы ты посмотреть как такое будет работать у тебя? -------------------- Thank you opensource. |
|||
|
||||
powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 28 Всего: 159 |
Да, все работает и в связке с JSF. Я, в принципе, вижу только одну причину по которой этого могло не случиться: конфликт библиотек.
Запускал на Tomcat 5.5.17. Библиотеки к проекту добавлял те что указал выше + JSF. Прикрепляю папки src и web своего проекта. Присоединённый файл ( Кол-во скачиваний: 9 ) ![]() |
|||
|
||||
Zamuta |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 18.1.2006 Репутация: 4 Всего: 6 |
Сделал как у тебя, клал всё в один пакет и в разные, с разными библиотеками, томкат тоже 5.5.17, и в любом случае получаю:
О каком модификаторе он говорит? в managed-beans.xml всё прописано как надо.... -------------------- Thank you opensource. |
|||
|
||||
powerOn |
|
||||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 28 Всего: 159 |
У тебя класс MyJob в отдельном .java файле? Модификатор public и конструктор без параметров имеется?
Код падает у тебя на создании объекта через reflection. Вот что в методе newJob происходит:
Вот эту строку, к примеру, можно выполнить только при наличии конструктора без параметров:
Это сообщение отредактировал(а) powerOn - 7.1.2007, 18:44 |
||||
|
|||||
Zamuta |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 18.1.2006 Репутация: 4 Всего: 6 |
Ну чтож, powerOn, могу лишь сказать спасибо, но хочется немного разъяснений. Когда я убрал пустые конструкторы в обеих классах, которые находятся в разных файлах, всё заработало... (public MyJob() {}, public TestBean() {}). Но в литературе пишут, что если нет необходимости создавать конструкторы с некоторыми параметрами, то можно их вообще не создавать, компилятор создаст их сам, но в твоих файлах они были и я решил их оставить. Но если конструкторы и так без параметров, то почему же заработало только при их полном отсутствии, а просто с пустыми конструкторами не работает?
-------------------- Thank you opensource. |
|||
|
||||
powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 28 Всего: 159 |
||||
|
||||
Zamuta |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 18.1.2006 Репутация: 4 Всего: 6 |
Пытаюсь проверить выполняются ли булевские значения внутри execute(){}, а именно, по нажатию кнопки запускаю MyTrigger а в классе MyJob проверяю булевское значение и если оно верно, то на странице вывожу текст, но в outtext компоненте пусто, в чём может быть дело?
В моём приложении quartz должен работать именно так (переключать булевское значение в true и по нему запускать остальной код). -------------------- Thank you opensource. |
|||
|
||||
powerOn |
|
||||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 28 Всего: 159 |
На первый взгляд, непонятно, каким образом данные должны попасть в компонент? Где эта связь? Я вот вижу методы:
А кто их вызывает? |
||||
|
|||||
Zamuta |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 18.1.2006 Репутация: 4 Всего: 6 |
powerOn, из jsp страницы у outputtext я ссылаюсь на #{MyJob.name}
Обычно так всегда делаю.... ![]() -------------------- Thank you opensource. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |