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) {
}