diff --git a/java/mdsobjects/src/main/java/MDSplus/Connection.java b/java/mdsobjects/src/main/java/MDSplus/Connection.java index eef1cb2d29..a86a23df8a 100644 --- a/java/mdsobjects/src/main/java/MDSplus/Connection.java +++ b/java/mdsobjects/src/main/java/MDSplus/Connection.java @@ -64,14 +64,20 @@ public void initialize(java.lang.String mdsipAddr) throws MdsException isConnected = true; } - @Override - protected void finalize() + public void mdsdisconnect() { if (sockId >= 0) disconnectFromMds(sockId); isConnected = false; } + // Deprecated in Java 9 to Java 22; will be removed in future Java. + @Override + protected void finalize() + { + mdsdisconnect(); + } + public void openTree(java.lang.String name, int shot) throws MdsException { openTree(sockId, name, shot); diff --git a/matlab/mdsconnect.m b/matlab/mdsconnect.m index 723104098e..bab01dbc50 100755 --- a/matlab/mdsconnect.m +++ b/matlab/mdsconnect.m @@ -15,6 +15,9 @@ else if strcmpi(host, 'LOCAL') == 1 MDSINFO.isConnected = false; + if ~MDSINFO.isPythonConnection + MDSINFO.connection.mdsdisconnect(); + end MDSINFO.connection = []; MDSINFO.connectedHost = host; status = 1;