Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Servlet 
:(
    Опции темы
Foli
Дата 1.11.2007, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 23.4.2007
Где: Europe

Репутация: нет
Всего: нет



Привет народ. 

Помогите начинающему. :(

Задача:  Как сделать Servlet чтобы он работал столько сколько и WebServer?

Я создал проект в NB добавил Servlet и в WEB.xml прописал у него  <load-on-startup>1</load-on-startup>
Это значит он будет работать всё время? 

В голове всё перемишалось после Delphi. Нучто чтобы этот сервлет запускал поток и всё время кое что в потоке делал. 

Прошу разьясните что и как?
PM MAIL   Вверх
Се ля ви
Дата 1.11.2007, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java/SOAрхитектор
****


Профиль
Группа: Модератор
Сообщений: 2016
Регистрация: 5.6.2004
Где: place without tim e and space

Репутация: 3
Всего: 127



Цитата(Foli @  1.11.2007,  15:02 Найти цитируемый пост)
Нучто чтобы этот сервлет запускал поток и всё время кое что в потоке делал. 

Что делал? Ты уверен, что тебе нужен именно сервлет? Вообще-то он для других целей...


--------------------
  )
 (
[_])
проф. блог

Кролики думали, что занимаются любовью, а на самом деле их просто разводили...
PM MAIL WWW Skype GTalk   Вверх
Foli
Дата 1.11.2007, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 23.4.2007
Где: Europe

Репутация: нет
Всего: нет



Есть сенсор который подключён к ком порту. нужно егов всё время слушать. и записывать данные в БД.
По уму я думаю нужно сделать отдельное приложение которое будет работать не зависимо от вэб сервера. 
Типа swing клиента, который будет общаться с сервисом который слушает порт. 

Но тут задача именно сделать это всё без swinga. Вот запусстил web проект а там можно запустить поток в сервлете. 
На сайте можно глянуть что там с потоком и так далие. Поток должен работать всегда. 


Я понимаю что всё это будет работать пока работает вэб сервер. Но так хотят. 

PM MAIL   Вверх
DEER
Дата 1.11.2007, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 749
Регистрация: 12.4.2005
Где: г. Рязань

Репутация: нет
Всего: 13



Я так и делал правда юзал не сервелт а листенер
в contextInitialized создаешь поток
в contextDestroyed его убиваешь
Код

public class MsgListener implements ServletContextListener, Runnable {
    public void contextInitialized(ServletContextEvent servletContextEvent) {
        log.info("Start message server");
        thread = new Thread(this, ("Message server"));
        thread.start();
    }
    public void contextDestroyed(ServletContextEvent servletContextEvent) {
        if(thread != null) {
            Thread threadToStop = thread;
            try {
                work = false;
                threadToStop.join(20 * 1000); //wait 10 seconds until send thread dies
                if(threadToStop.isAlive()) {
                    log.warn("Timeout expired for \" Message server\" thread. Interrupt them");
                    threadToStop.interrupt();
                }
            } catch (InterruptedException e) {
                if(threadToStop.isAlive())
                    threadToStop.interrupt();
            }
            finally {
            }
        }
    }
    public void run() {
        do {
            try {
                Thread.sleep(15 * 1000);
            } catch (Exception e) {
                work = false;
            }
            //Что надо делать
        } while (work);
    }
}

web.xml
Код

    <listener>
         <listener-class>ru.MsgListener</listener-class>
    </listener>



--------------------
 
PM MAIL WWW ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0440 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.