From 95f1eb8c28eaa20143912a66ecb76eaf6d5668ea Mon Sep 17 00:00:00 2001 From: abilan Date: Thu, 8 Jun 2023 13:42:16 -0400 Subject: [PATCH] GH-8616: Upgrade to Angus Mail to `2.0.2` Fixes https://github.com/spring-projects/spring-integration/issues/8616 * And Greenmail to `2.1.0` --- build.gradle | 9 +++------ .../integration/mail/ImapMailReceiver.java | 4 ++-- .../integration/mail/ImapMailReceiverTests.java | 8 ++++---- 3 files changed, 9 insertions(+), 12 deletions(-) diff --git a/build.gradle b/build.gradle index 792f7da735..5d609a7370 100644 --- a/build.gradle +++ b/build.gradle @@ -65,7 +65,7 @@ ext { findbugsVersion = '3.0.1' ftpServerVersion = '1.2.0' graalvmVersion = '22.3.2' - greenmailVersion = '2.0.0' + greenmailVersion = '2.1.0-alpha-1' groovyVersion = '4.0.12' hamcrestVersion = '2.2' hazelcastVersion = '5.2.3' @@ -87,7 +87,7 @@ ext { kryoVersion = '5.5.0' lettuceVersion = '6.2.4.RELEASE' log4jVersion = '2.20.0' - mailVersion = '1.0.0' + mailVersion = '2.0.2' micrometerTracingVersion = '1.1.1' micrometerVersion = '1.11.0' mockitoVersion = '5.3.1' @@ -809,10 +809,7 @@ project('spring-integration-mail') { providedImplementation "org.eclipse.angus:jakarta.mail:$mailVersion" - testImplementation ("com.icegreen:greenmail:$greenmailVersion") { - exclude group: 'com.sun.mail' - exclude group: 'jakarta.activation' - } + testImplementation "com.icegreen:greenmail:$greenmailVersion" testRuntimeOnly 'org.apache.logging.log4j:log4j-jul' } diff --git a/spring-integration-mail/src/main/java/org/springframework/integration/mail/ImapMailReceiver.java b/spring-integration-mail/src/main/java/org/springframework/integration/mail/ImapMailReceiver.java index 56f26da16e..eb301b1f77 100755 --- a/spring-integration-mail/src/main/java/org/springframework/integration/mail/ImapMailReceiver.java +++ b/spring-integration-mail/src/main/java/org/springframework/integration/mail/ImapMailReceiver.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2023 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,7 +22,6 @@ import java.util.Objects; import java.util.Properties; import java.util.concurrent.ScheduledFuture; -import com.sun.mail.imap.IMAPFolder; import jakarta.mail.Flags; import jakarta.mail.Flags.Flag; import jakarta.mail.Folder; @@ -32,6 +31,7 @@ import jakarta.mail.search.AndTerm; import jakarta.mail.search.FlagTerm; import jakarta.mail.search.NotTerm; import jakarta.mail.search.SearchTerm; +import org.eclipse.angus.mail.imap.IMAPFolder; import org.springframework.scheduling.TaskScheduler; import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; diff --git a/spring-integration-mail/src/test/java/org/springframework/integration/mail/ImapMailReceiverTests.java b/spring-integration-mail/src/test/java/org/springframework/integration/mail/ImapMailReceiverTests.java index 400b2d01f0..897a36a5df 100644 --- a/spring-integration-mail/src/test/java/org/springframework/integration/mail/ImapMailReceiverTests.java +++ b/spring-integration-mail/src/test/java/org/springframework/integration/mail/ImapMailReceiverTests.java @@ -24,7 +24,6 @@ import java.util.List; import java.util.Properties; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutionException; -import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReference; @@ -39,7 +38,6 @@ import com.icegreen.greenmail.util.GreenMail; import com.icegreen.greenmail.util.GreenMailUtil; import com.icegreen.greenmail.util.ServerSetup; import com.icegreen.greenmail.util.ServerSetupTest; -import com.sun.mail.imap.IMAPFolder; import jakarta.mail.Flags; import jakarta.mail.Flags.Flag; import jakarta.mail.Folder; @@ -56,6 +54,8 @@ import jakarta.mail.search.AndTerm; import jakarta.mail.search.FlagTerm; import jakarta.mail.search.FromTerm; import jakarta.mail.search.SearchTerm; +import org.eclipse.angus.mail.imap.IMAPFolder; +import org.eclipse.angus.mail.imap.protocol.IMAPProtocol; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeAll; @@ -146,7 +146,7 @@ public class ImapMailReceiverTests { imap.setServerStartupTimeout(10000); imapIdleServer = new GreenMail(imap); user = imapIdleServer.setUser("user", "pw"); - Executors.newSingleThreadExecutor().submit(imapIdleServer::start).get(); + imapIdleServer.start(); } @AfterEach @@ -995,7 +995,7 @@ public class ImapMailReceiverTests { @Override public void publish(LogRecord record) { - if ("com.sun.mail.imap.protocol".equals(record.getLoggerName())) { + if (IMAPProtocol.class.getPackageName().equals(record.getLoggerName())) { String message = record.getMessage(); if (!message.startsWith("*")) { if (message.contains(SEARCH) && !message.contains(" OK ")) {