Я создаю новый API, который будет читать электронную почту, используя метод уведомления onEvent, я отправлю почту на другую электронную почту.При отправке письма на другое письмо оно отправляется дважды.
Я пытался отфильтровать дубликат, сохранив идентификатор в хэш-карте и проверив его во второй раз, когда метод уведомления запускается, когдаэто соответствует id, я не буду отправлять почту.но это не сработало должным образом.
Мое потоковое уведомление:
StreamingSubscription subscription = exchangeService.subscribeToStreamingNotification(folder,EventType.NewMail);
StreamingSubscriptionConnection conn = new StreamingSubscriptionConnection(exchangeService,30); conn.addSubscription(subscription );
conn.addNotificationEvent(new StreamingsubscriptionConnection.INotificationEventDelegate())
{ @override
public void notificationEventDelegate(object sender, NotificationEventArgs args){
StreamingSubscription subscription = args.getSubscription();
for(NotificationEvent event : args.getEvents()){
if(event instanceof FolderEvent){
FolderEvent folderEvent = (FolderEvent) event;
} else if (event instanceof ItemEvent){
ItemEvent itemEvent = (ItemEvent) event; } else{ logger.error("Unsupported event" + event.getClass)
}
else{
logger.error("Unsupported event" + event.getClass)
}