You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampipes.apache.org by ze...@apache.org on 2020/11/18 22:28:08 UTC

[incubator-streampipes-extensions] branch dev updated: Change create connection for plc4x s7 adapter

This is an automated email from the ASF dual-hosted git repository.

zehnder pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes-extensions.git


The following commit(s) were added to refs/heads/dev by this push:
     new bc15e69  Change create connection for plc4x s7 adapter
bc15e69 is described below

commit bc15e694fc744dced9e87d8195c8fd1ec4ff32f8
Author: Philipp Zehnder <ze...@fzi.de>
AuthorDate: Wed Nov 18 23:27:41 2020 +0100

    Change create connection for plc4x s7 adapter
---
 .../connect/adapters/plc4x/s7/Plc4xS7Adapter.java            | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/streampipes-connect-adapters/src/main/java/org/apache/streampipes/connect/adapters/plc4x/s7/Plc4xS7Adapter.java b/streampipes-connect-adapters/src/main/java/org/apache/streampipes/connect/adapters/plc4x/s7/Plc4xS7Adapter.java
index 078b65c..b286ec6 100644
--- a/streampipes-connect-adapters/src/main/java/org/apache/streampipes/connect/adapters/plc4x/s7/Plc4xS7Adapter.java
+++ b/streampipes-connect-adapters/src/main/java/org/apache/streampipes/connect/adapters/plc4x/s7/Plc4xS7Adapter.java
@@ -213,8 +213,7 @@ public class Plc4xS7Adapter extends PullAdapter {
     protected void pullData() {
 
         // Create PLC read request
-        try {
-            PlcConnection plcConnection = this.driverManager.getConnection("s7://" + this.ip);
+        try (PlcConnection plcConnection = this.driverManager.getConnection("s7://" + this.ip)) {
 
             PlcReadRequest.Builder builder = plcConnection.readRequestBuilder();
             for (Map<String, String> node : this.nodes) {
@@ -242,11 +241,18 @@ public class Plc4xS7Adapter extends PullAdapter {
 
                 // publish the final event
                 adapterPipeline.process(event);
+
+                plcConnection.close();
             } catch (InterruptedException | ExecutionException e) {
                 LOG.error(e.getMessage());
+                e.printStackTrace();
+            } catch (Exception e) {
+                e.printStackTrace();
             }
-        } catch (PlcConnectionException e) {
+        } catch (Exception e) {
+            System.out.println("Could not establish connection to S7 with ip " + this.ip);
             this.LOG.error("Could not establish connection to S7 with ip " + this.ip, e);
+            e.printStackTrace();
         }