Ich erstelle ein Programm, das ein Google Mail -Konto für neue Nachrichten überwachen muss, und um sie so schnell wie möglich zu erhalten, verwende ich Javamail's Idle -Funktion. Hier ist ein Code -Snippet aus dem Thread, den ich verwende, um den Ordner aufzurufen.IDLE (): < /p>
//Run method that waits for idle input. If an exception occurs, end the thread's life.
public void run() {
IMAPFolder folder = null;
try {
folder = getFolder();
while(true)
{
//If connection has been lost, attempt to restore it
if (!folder.isOpen())
folder = getFolder();
//Wait until something happens in inbox
folder.idle(true);
//Notify controller of event
cont.inboxEventOccured();
}
}
catch (Exception ex) {
ex.printStackTrace();
}
System.out.println("MailIdleWaiter thread ending.");
}
< /code>
Die GetFolder () -Methode öffnet die Verbindung zum IMAP -Server im Grunde genommen und öffnet den Posteingang. Benötige ich einen zweiten Thread, dessen einzige Rolle darin besteht>
Javamail: IMAPFOLDER.IDLE () am Leben erhalten ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post