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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как не дать программе завершиться? 
:(
    Опции темы
ALexALed
Дата 19.3.2010, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Возникла следующая проблема: У меня есть консольная программа которая подключает слушатель к почтовому ящику, слушатель подключается, все нормально, просто после одного прохода кода слушателя программа корректно завершается, подскажите как заставить программу постоянно слушать ящик, а не завершаться??? 
PM MAIL   Вверх
powerOn
Дата 19.3.2010, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



Цитата(ALexALed @  19.3.2010,  12:10 Найти цитируемый пост)
просто после одного прохода кода слушателя программа корректно завершается


бесконечный цикл не решает проблему?


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
ALexALed
Дата 19.3.2010, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



нет... память съедает... а если через трейд делать тогда теряется процесс получения писем...и слушатель не реагирует на их добавление 

это маин
Код

public class MainClass {
public static void main(String[] args){
 MailManager cm = new MailManager("почта", "пароль", "сервер", "порт");
             cm.listingMail();

}
}


а это слушатель
Код

public void listingMail(){

        inbFolder.addMessageCountListener(new MessageCountAdapter() {
            @Override
            public void messagesAdded(MessageCountEvent e) {
                try {
                    Message[] mf = inbFolder.getMessages();
                    FlagTerm ft = new FlagTerm(new Flags(Flags.Flag.SEEN), false);
                    Message[] messages = inbFolder.search(ft);
                    for (Message m : messages) {
                        JabberNotifyManager jn = new JabberNotifyManager("джабер пользователь", "пароль", "джаббер сервер", порт);
                        org.jivesoftware.smack.packet.Message msg = jn.getFormattMessage(m.getFrom(), m.getDescription(), m.getSubject());
                        m.setFlag(Flag.SEEN, true);
                        for (Address adr : m.getAllRecipients()) {
                            jn.sendMessage(adr, msg);
                        }
                    }
                } catch (MessagingException ex) {
                   ex.printStackTrace();
                }
 }
});

}


PM MAIL   Вверх
jManiak
Дата 19.3.2010, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



а если делать так чтобы память освобождалась? т.е. обнулять все что связано с получением писем и т.д. тогда gc будет высвобождать память для последующих прослушек...
PM MAIL ICQ   Вверх
ALexALed
Дата 19.3.2010, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



я думал она автоматически освобождается...
PM MAIL   Вверх
jManiak
Дата 19.3.2010, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



да, если нет ссылок на объекты...

Добавлено через 2 минуты и 16 секунд
Сборка мусора
Цитата

В системе со сборкой мусора обязанность освобождения памяти от объектов, которые больше не используются, возлагается на среду исполнения программы. Программист лишь создаёт динамические объекты и пользуется ими, он может не заботиться об удалении объектов, поскольку это делает за него среда. Для осуществления сборки мусора в состав среды исполнения включается специальный программный модуль, называемый «сборщиком мусора». Этот модуль периодически запускается, определяет, какие из созданных в динамической памяти объектов более не используются и освобождает занимаемую ими память.

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

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

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


 




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


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

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