Java源码示例:javax.mail.event.MessageCountEvent

示例1
public void start(String folderName) throws Exception {
	executorService = Executors.newSingleThreadExecutor();

	Folder folder = mailService.ensureOpenFolder(folderName);

	folder.addMessageCountListener(new MessageCountAdapter() {
		@Override
		public void messagesAdded(MessageCountEvent event) {
			List<Message> messages = Arrays.asList(event.getMessages());

			handlers.forEach(handler -> handler.accept(messages));
		}
	});

	if (supportsIdle(folder)) {
		notificationWorker = new IdleNotificationWorker(mailService, (IMAPFolder) folder);
	} else {
		notificationWorker = new PollNotificationWorker(mailService, folder,
				configuration.getNotificationLookupTime());
	}

	LOGGER.debug("start notification service: {}", notificationWorker);

	executorService.submit(notificationWorker);
}
 
示例2
public void messagesAdded(MessageCountEvent ev) {
    Message[] msgs = ev.getMessages();
    System.out.println("Got " + msgs.length + " new messages");

    for (int i = 0; i < msgs.length; i++) {
		try {
			manageMessage(msgs[i]);
		} catch (IOException ioex) { 
		    ioex.printStackTrace();	
		} catch (MessagingException mex) {
		    mex.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
    }
}
 
示例3
public void messagesAdded(MessageCountEvent ev) {
	Message[] msgs = ev.getMessages();
	try {
		for (int i = 0; i < msgs.length; i++) {
			addCDCRow(INBOX, msgs[i], RowType.INSERT);
			msgs[i].writeTo(System.out);
		}
		commit();
	} catch (IOException | MessagingException | AdapterException e) {
		e.printStackTrace();
		try {
			Subscriptions s = getSubscriptions();
			SubscriptionInformationPerTablename sub = s.get("RSSFEED");
			if (sub != null) {
				for (SubscriptionRuntimeInformation rs : sub.getSubscriptionList().values()) {
					stop(rs.getSubscriptionSpecification());
				}
			}
		} catch (AdapterException e1) {
		}
	}
}
 
示例4
public void messagesAdded(MessageCountEvent ev) {
    Message[] msgs = ev.getMessages();
	logger.info("Got {} new messages", msgs.length);

    for (int i = 0; i < msgs.length; i++) {
		try {
			manageMessage(msgs[i]);
		} catch (IOException ioex) { 
		    ioex.printStackTrace();	
		} catch (MessagingException mex) {
		    mex.printStackTrace();
		}
    }
}
 
示例5
@Override
public void messagesAdded(final MessageCountEvent e) {
    addedCount++;

}
 
示例6
@Override
public void messagesRemoved(final MessageCountEvent e) {
    removedCount++;

}
 
示例7
@Override
public void messagesAdded(final MessageCountEvent e) {
    addedCount++;

}
 
示例8
@Override
public void messagesRemoved(final MessageCountEvent e) {
    removedCount++;

}
 
示例9
public void messagesAdded(MessageCountEvent e) {
	
}
 
示例10
public void messagesRemoved(MessageCountEvent e) {
	
}