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


Автор: JLigero 14.6.2010, 22:49
Всем доброго времени суток.
Возникла задача. Имеется web приложение, в котором есть SomeClass:
Код

public class SomeClass extends Thread {
    boolean running = true;
    final Object timer = new Object();
    static final long DELAY = 30000;
    @Override
    public void run() {
        while (running) {
            synchronized(timer) {                 
                // что-то выполняется
                try {
                    timer.wait(DELAY); // ждём заданное время,                    
                }
                catch (InterruptedException ie) {  
                }
            }
        }
    }
    public void terminate() {
        synchronized(timer) {
            running = false; 
            timer.notify(); 
        }
    }
}

При запуске tomcat, нужно, чтобы запустился этот SomeClass.
Я попытался проделать с помощью записи в web.xml:
Код

<listener>
        <listener-class>myPackage.ServiceContextListener</listener-class>
</listener>
 
А “ServiceContextListener” вызывает “new SomeClass().run();”
Но проблема в том, что сам tomcat не запускается, пока выполняется данный SomeClass.
Есть-ли у кого какие решения по подобной задаче? За ранее, спасибо.

Автор: ki6opr 15.6.2010, 07:26
если уж на то пошло то потоки нужно стартовать через start() smile отличие run и start в джавадоках

Автор: JLigero 15.6.2010, 09:53
Цитата(ki6opr @ 15.6.2010,  07:26)
если уж на то пошло то потоки нужно стартовать через start() smile отличие run и start в джавадоках

Большое спасибо! smile

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