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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отправка файла на e-mail. Отслеживание прогресса. 
:(
    Опции темы
SimpAlex
  Дата 29.1.2010, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте!

У меня следующая проблема:

Есть некая база данных, программа каждый день в определенное время сохраняет полностью ее схему в файл и этот файл должен высылаться на ящик (*@mail.ru), который является дешевым и сердитым вариантом для хранения.

Все формируется, все отправляется. Только файлы достаточно большие (до 10 мб) и хотелось бы как-нибудь отслеживать прогресс отправки файла на мыло (хочу получить данные и сформировать прогрессбар или просто процент рассчитывать).

Вот привел код, благодаря которому и происходит отправка.

Логически я представляю решение проблемы следующим образом: узнать размер файла изначально, а оптом как-то отслеживать текущее состояние передачи.

Что посоветуете, куда податься? может переработать сам механизм отправки?


Код

import org.apache.commons.*;
...

// Добавить файл для пересылки.
            EmailAttachment attachment = new EmailAttachment();
            attachment.setPath("k.tmp");
            attachment.setDisposition(EmailAttachment.ATTACHMENT);
            attachment.setDescription("Дамп базы");

// Создать письмо
            MultiPartEmail email = new MultiPartEmail();
            email.setHostName("smtp.mail.ru");
            email.setSmtpPort(2525);
            email.setAuthentication("user", "password");
            email.addTo("*@mail.ru", "To");
            email.setFrom("*@mail.ru", "From");
            email.setSubject("Дамп+Параметры");
            email.setMsg("Дамп + параметры");
 
// Добавить файл
            System.err.println("сформировали");
            email.attach(attachment);

            
// Высылаем письмо
            System.err.println("высылаем");
            email.send(); // TODO add your handling code here:

// Отправлено!
            System.err.println("ОТПРАВЛЕНЁ!");

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


Опытный
**


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

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



Рекомендую обратить внимание на класс SwingWorker и его документацию.
PM   Вверх
SimpAlex
Дата 30.1.2010, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Эта операция - отправка письма, само собой идет в отдельном потоке.

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

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

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


 




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


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

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