Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Запустить Quartz в Tomcat 6.0


Автор: Devorior 2.6.2009, 12:04
Искал по сабжу, но конкретного ничего не нашел.
Работаю с JBoss, у Quartz прописан JNDI_NAME через которую идет запуск планировщиков. Пытался сделать аналогичное в Томкате, не получается.

Кто-нибудь может скинуть пример настройки JNDI для Quartz в Tomcat 6.0?
Настройки задач берутся не из базы, а из конфиг файла quartz-jobs.xml

Заранее спасибо

Автор: tux 2.6.2009, 12:46
Что именно в Quartz прописывается? Если Quartz подкладывает планировщики в JNDI для того чтобы потом их оттуда получить, то в Томкате JNDI-сервис - read-only и покласть туда что-то можно только из конфигов самого Томката. 

Автор: Devorior 2.6.2009, 13:36
Вызов кварца идет следущим образом:

Код

public org.quartz.Scheduler getQuartzScheduler() {
        try {
            Context ctx = new InitialContext();

            quartzScheduler = (org.quartz.Scheduler) ctx.lookup(JNDI_NAME);

            ctx.close();
        }
        catch (NamingException e) {
            log.warn("Naming Exception: " + e.toString());
        }

        return quartzScheduler;
    }


где JNDI_NAME прописана в файле quartz-service.xml находящимся в jboss/server/default/deploy

В quartz-service.xml есть запись:
    <!--
      JNDI name for locating Scheduler, "Quartz" is default.
    -->
    <!--
    <attribute name="JndiName">Quartz</attribute>
    -->

Я так понял, что в Томкате достаточно будет прописать JNDI name потому как при запуске приложения ругается именно на его отсутствие.

Автор: tux 2.6.2009, 16:39
Собственно, здесь подробности - http://tomcat.apache.org/tomcat-6.0-doc/jndi-resources-howto.html. Фабрику для создания планировщика видимо придется имплементить самостоятельно, в Томкате ничего такого нет. В конце статьи есть пример как это сделать. Прописывается ресурс планировщика в server.xml если разворачиваемое приложение описывается там либо в context.xml.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)