Repository: nifi
Updated Branches:
  refs/heads/master 490e1da5d -> 2800df30d


NIFI-2692

- Removing problematic timeout for SMTP Listen
- Converting anonymous method to lambda
- Adding debug and error logging

Signed-off-by: Pierre Villard <[email protected]>

This closes #1924.


Project: http://git-wip-us.apache.org/repos/asf/nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/2800df30
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/2800df30
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/2800df30

Branch: refs/heads/master
Commit: 2800df30d383030a02c4e1547a9eab1fb88cc59e
Parents: 490e1da
Author: Chris Herrera <[email protected]>
Authored: Fri Jun 16 17:24:35 2017 -0500
Committer: Pierre Villard <[email protected]>
Committed: Sat Jun 17 15:22:33 2017 +0200

----------------------------------------------------------------------
 .../nifi/processors/email/ListenSMTP.java       |   6 +-
 .../nifi/processors/email/TestListenSMTP.java   | 118 +++++++++----------
 2 files changed, 58 insertions(+), 66 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi/blob/2800df30/nifi-nar-bundles/nifi-email-bundle/nifi-email-processors/src/main/java/org/apache/nifi/processors/email/ListenSMTP.java
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-email-bundle/nifi-email-processors/src/main/java/org/apache/nifi/processors/email/ListenSMTP.java
 
b/nifi-nar-bundles/nifi-email-bundle/nifi-email-processors/src/main/java/org/apache/nifi/processors/email/ListenSMTP.java
index 9e422ca..32c9649 100644
--- 
a/nifi-nar-bundles/nifi-email-bundle/nifi-email-processors/src/main/java/org/apache/nifi/processors/email/ListenSMTP.java
+++ 
b/nifi-nar-bundles/nifi-email-bundle/nifi-email-processors/src/main/java/org/apache/nifi/processors/email/ListenSMTP.java
@@ -177,6 +177,7 @@ public class ListenSMTP extends 
AbstractSessionFactoryProcessor {
             try {
                 final SMTPServer server = prepareServer(context, 
sessionFactory);
                 server.start();
+                getLogger().debug("Started SMTP Server on port " + 
server.getPort());
                 smtp = server;
             } catch (final Exception ex) {//have to catch exception due to 
awkward exception handling in subethasmtp
                 smtp = null;
@@ -190,7 +191,10 @@ public class ListenSMTP extends 
AbstractSessionFactoryProcessor {
     public void stop() {
         try {
             smtp.stop();
-        } finally {
+            getLogger().debug("Stopped SMTP server on port " + smtp.getPort());
+        }catch (Exception ex){
+            getLogger().error("Error stopping SMTP server: " + 
ex.getMessage());
+        }finally {
             smtp = null;
         }
     }

http://git-wip-us.apache.org/repos/asf/nifi/blob/2800df30/nifi-nar-bundles/nifi-email-bundle/nifi-email-processors/src/test/java/org/apache/nifi/processors/email/TestListenSMTP.java
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-email-bundle/nifi-email-processors/src/test/java/org/apache/nifi/processors/email/TestListenSMTP.java
 
b/nifi-nar-bundles/nifi-email-bundle/nifi-email-processors/src/test/java/org/apache/nifi/processors/email/TestListenSMTP.java
index f17978f..93b3a4e 100644
--- 
a/nifi-nar-bundles/nifi-email-bundle/nifi-email-processors/src/test/java/org/apache/nifi/processors/email/TestListenSMTP.java
+++ 
b/nifi-nar-bundles/nifi-email-bundle/nifi-email-processors/src/test/java/org/apache/nifi/processors/email/TestListenSMTP.java
@@ -56,32 +56,28 @@ public class TestListenSMTP {
         TestRunner runner = TestRunners.newTestRunner(ListenSMTP.class);
         runner.setProperty(ListenSMTP.SMTP_PORT, String.valueOf(port));
         runner.setProperty(ListenSMTP.SMTP_MAXIMUM_CONNECTIONS, "3");
-        runner.setProperty(ListenSMTP.SMTP_TIMEOUT, "10 seconds");
 
         runner.assertValid();
         runner.run(5, false);
         final int numMessages = 5;
         CountDownLatch latch = new CountDownLatch(numMessages);
 
-        this.executor.schedule(new Runnable() {
-            @Override
-            public void run() {
-                for (int i = 0; i < numMessages; i++) {
-                    try {
-                        Email email = new SimpleEmail();
-                        email.setHostName("localhost");
-                        email.setSmtpPort(port);
-                        email.setFrom("[email protected]");
-                        email.setSubject("This is a test");
-                        email.setMsg("MSG-" + i);
-                        email.addTo("[email protected]");
-                        email.send();
-                    } catch (Exception e) {
-                        e.printStackTrace();
-                        throw new RuntimeException(e);
-                    } finally {
-                        latch.countDown();
-                    }
+        this.executor.schedule(() -> {
+            for (int i = 0; i < numMessages; i++) {
+                try {
+                    Email email = new SimpleEmail();
+                    email.setHostName("localhost");
+                    email.setSmtpPort(port);
+                    email.setFrom("[email protected]");
+                    email.setSubject("This is a test");
+                    email.setMsg("MSG-" + i);
+                    email.addTo("[email protected]");
+                    email.send();
+                } catch (Exception e) {
+                    e.printStackTrace();
+                    throw new RuntimeException(e);
+                } finally {
+                    latch.countDown();
                 }
             }
         }, 1500, TimeUnit.MILLISECONDS);
@@ -102,7 +98,6 @@ public class TestListenSMTP {
         TestRunner runner = TestRunners.newTestRunner(ListenSMTP.class);
         runner.setProperty(ListenSMTP.SMTP_PORT, String.valueOf(port));
         runner.setProperty(ListenSMTP.SMTP_MAXIMUM_CONNECTIONS, "3");
-        runner.setProperty(ListenSMTP.SMTP_TIMEOUT, "10 seconds");
 
         // Setup the SSL Context
         SSLContextService sslContextService = new StandardSSLContextService();
@@ -124,30 +119,27 @@ public class TestListenSMTP {
         CountDownLatch latch = new CountDownLatch(messageCount);
         runner.run(messageCount, false);
 
-        this.executor.schedule(new Runnable() {
-            @Override
-            public void run() {
-                for (int i = 0; i < messageCount; i++) {
-                    try {
-                        Email email = new SimpleEmail();
-                        email.setHostName("localhost");
-                        email.setSmtpPort(port);
-                        email.setFrom("[email protected]");
-                        email.setSubject("This is a test");
-                        email.setMsg("MSG-" + i);
-                        email.addTo("[email protected]");
-
-                        // Enable STARTTLS but ignore the cert
-                        email.setStartTLSEnabled(true);
-                        email.setStartTLSRequired(true);
-                        email.setSSLCheckServerIdentity(false);
-                        email.send();
-                    } catch (Exception e) {
-                        e.printStackTrace();
-                        throw new RuntimeException(e);
-                    } finally {
-                        latch.countDown();
-                    }
+        this.executor.schedule(() -> {
+            for (int i = 0; i < messageCount; i++) {
+                try {
+                    Email email = new SimpleEmail();
+                    email.setHostName("localhost");
+                    email.setSmtpPort(port);
+                    email.setFrom("[email protected]");
+                    email.setSubject("This is a test");
+                    email.setMsg("MSG-" + i);
+                    email.addTo("[email protected]");
+
+                    // Enable STARTTLS but ignore the cert
+                    email.setStartTLSEnabled(true);
+                    email.setStartTLSRequired(true);
+                    email.setSSLCheckServerIdentity(false);
+                    email.send();
+                } catch (Exception e) {
+                    e.printStackTrace();
+                    throw new RuntimeException(e);
+                } finally {
+                    latch.countDown();
                 }
             }
         }, 1500, TimeUnit.MILLISECONDS);
@@ -165,7 +157,6 @@ public class TestListenSMTP {
         TestRunner runner = TestRunners.newTestRunner(ListenSMTP.class);
         runner.setProperty(ListenSMTP.SMTP_PORT, String.valueOf(port));
         runner.setProperty(ListenSMTP.SMTP_MAXIMUM_CONNECTIONS, "3");
-        runner.setProperty(ListenSMTP.SMTP_TIMEOUT, "10 seconds");
         runner.setProperty(ListenSMTP.SMTP_MAXIMUM_MSG_SIZE, "10 B");
 
         runner.assertValid();
@@ -175,25 +166,22 @@ public class TestListenSMTP {
 
         runner.run(messageCount, false);
 
-        this.executor.schedule(new Runnable() {
-            @Override
-            public void run() {
-                for (int i = 0; i < messageCount; i++) {
-                    try {
-                        Email email = new SimpleEmail();
-                        email.setHostName("localhost");
-                        email.setSmtpPort(port);
-                        email.setFrom("[email protected]");
-                        email.setSubject("This is a test");
-                        email.setMsg("MSG-" + i);
-                        email.addTo("[email protected]");
-                        email.send();
-                    } catch (Exception e) {
-                        e.printStackTrace();
-                        throw new RuntimeException(e);
-                    } finally {
-                        latch.countDown();
-                    }
+        this.executor.schedule(() -> {
+            for (int i = 0; i < messageCount; i++) {
+                try {
+                    Email email = new SimpleEmail();
+                    email.setHostName("localhost");
+                    email.setSmtpPort(port);
+                    email.setFrom("[email protected]");
+                    email.setSubject("This is a test");
+                    email.setMsg("MSG-" + i);
+                    email.addTo("[email protected]");
+                    email.send();
+                } catch (Exception e) {
+                    e.printStackTrace();
+                    throw new RuntimeException(e);
+                } finally {
+                    latch.countDown();
                 }
             }
         }, 1000, TimeUnit.MILLISECONDS);

Reply via email to