From 2aa16832598a9ff9b418c68dfe1fef40cbfb7eb1 Mon Sep 17 00:00:00 2001 From: mwinkel-dev Date: Wed, 16 Jul 2025 15:07:42 -0600 Subject: [PATCH 1/2] Fix: mdsdisconnect for MATLAB java bridge no longer uses Java finalize() --- java/mdsobjects/src/main/java/MDSplus/Connection.java | 3 +-- matlab/mdsconnect.m | 3 +++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/java/mdsobjects/src/main/java/MDSplus/Connection.java b/java/mdsobjects/src/main/java/MDSplus/Connection.java index eef1cb2d29..a407bf9b7f 100644 --- a/java/mdsobjects/src/main/java/MDSplus/Connection.java +++ b/java/mdsobjects/src/main/java/MDSplus/Connection.java @@ -64,8 +64,7 @@ public void initialize(java.lang.String mdsipAddr) throws MdsException isConnected = true; } - @Override - protected void finalize() + public void mdsdisconnect() { if (sockId >= 0) disconnectFromMds(sockId); 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; From 06e7aee132e3f52185704977e8b0502747321cca Mon Sep 17 00:00:00 2001 From: mwinkel-dev Date: Fri, 18 Jul 2025 13:27:36 -0600 Subject: [PATCH 2/2] Fix: restore finalize() but flag as deprecated --- java/mdsobjects/src/main/java/MDSplus/Connection.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/java/mdsobjects/src/main/java/MDSplus/Connection.java b/java/mdsobjects/src/main/java/MDSplus/Connection.java index a407bf9b7f..a86a23df8a 100644 --- a/java/mdsobjects/src/main/java/MDSplus/Connection.java +++ b/java/mdsobjects/src/main/java/MDSplus/Connection.java @@ -71,6 +71,13 @@ public void mdsdisconnect() 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);