2010-12-08 8 views
10

Поддерживает ли JavaMail уведомление о новых сообщениях через push-сервер?Поддерживает ли JavaMail сервер-push?

Если да, то где документация для этого? Если нет, есть ли библиотека, которая может это сделать?

ответ

10

Вы должны использовать функцию idle IMAPFolder, чтобы выдать команду ожидания на сервер. Затем будут прослушиваться события, такие как новая почта или удаленная почта. (См. Спецификацию IMAP, чтобы увидеть, как выглядят сообщения). И вы должны использовать MessageCountListener для выполнения кода при изменении количества писем в почтовом ящике.

Функция простоя IMAP предназначена для имитации функциональности «push».

http://java.sun.com/products/javamail/javadocs/javax/mail/event/MessageCountListener.html
http://java.sun.com/products/javamail/javadocs/com/sun/mail/imap/IMAPFolder.html

К сожалению, я не отправлял код, который показывает, как это используется. Я не хотел тратить свое время, так как в Интернете есть много легко доступных примеров, если вы ищете этот материал.

Но, чтобы быть предупрежденным, этот метод не будет работать для более чем одной учетной записи IMAP с момента блокировки команды бездействия. Если вы не хотите, чтобы все они были на разных потоках (плохая идея).

1

Магазин событие ожидает уведомлений, выданных вашим бэкэнда магазине:

http://java.sun.com/products/javamail/javadocs/javax/mail/event/StoreEvent.html

Но в моем опыте почтовые документы ява являются так тонкие в местах, что лучший способ выяснить, что происходит, чтобы отлаживать процесс самостоятельно.

Это отличный многопользовательский ресурс; JavaMail FAQ:

http://www.oracle.com/technetwork/java/faq-135477.html

+0

Хм, в FAQ часто задают вопросы о сервере push:/ – Timo 2010-12-17 09:17:32

+0

Я думал, что вы хотите каким-то образом java-почты для прослушивания уведомлений, отправленных с вашего сервера по почте. Извините, если я неправильно понял! – davek 2010-12-17 09:29:25

Смежные вопросы