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

markt pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 0f8c12e64b3e033b87837e1c7b5c466eed6114f8
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Thu Jan 12 14:57:39 2023 +0000

    Fix calls to deprecated (Java 14+) code
---
 .../catalina/ha/backend/MultiCastSender.java       |  2 +-
 .../tribes/membership/McastServiceImpl.java        | 23 ++++++++++++++++------
 2 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/java/org/apache/catalina/ha/backend/MultiCastSender.java 
b/java/org/apache/catalina/ha/backend/MultiCastSender.java
index 1e00ee8dc3..2568a0e75b 100644
--- a/java/org/apache/catalina/ha/backend/MultiCastSender.java
+++ b/java/org/apache/catalina/ha/backend/MultiCastSender.java
@@ -60,7 +60,7 @@ public class MultiCastSender
                 }
 
                 s.setTimeToLive(config.getTtl());
-                s.joinGroup(group);
+                s.joinGroup(new InetSocketAddress(group, 0), null);
             } catch (Exception ex) {
                 log.error(sm.getString("multiCastSender.multiCastFailed"), ex);
                 s = null;
diff --git a/java/org/apache/catalina/tribes/membership/McastServiceImpl.java 
b/java/org/apache/catalina/tribes/membership/McastServiceImpl.java
index 068a383440..da42ac7ceb 100644
--- a/java/org/apache/catalina/tribes/membership/McastServiceImpl.java
+++ b/java/org/apache/catalina/tribes/membership/McastServiceImpl.java
@@ -23,6 +23,7 @@ import java.net.DatagramPacket;
 import java.net.InetAddress;
 import java.net.InetSocketAddress;
 import java.net.MulticastSocket;
+import java.net.NetworkInterface;
 import java.net.SocketTimeoutException;
 import java.util.Arrays;
 import java.util.concurrent.atomic.AtomicBoolean;
@@ -217,12 +218,14 @@ public class McastServiceImpl extends 
MembershipProviderBase {
         } else {
             socket = new MulticastSocket(port);
         }
-        socket.setLoopbackMode(localLoopbackDisabled); //hint if we want 
disable loop back(local machine) messages
+        // Hint if we want disable loop back(local machine) messages
+        socket.setLoopbackMode(localLoopbackDisabled);
         if (mcastBindAddress != null) {
             if(log.isInfoEnabled()) {
                 log.info(sm.getString("mcastServiceImpl.setInterface", 
mcastBindAddress));
             }
-            socket.setInterface(mcastBindAddress);
+            NetworkInterface networkInterface = 
NetworkInterface.getByInetAddress(mcastBindAddress);
+            socket.setNetworkInterface(networkInterface);
         } //end if
         //force a so timeout so that we don't block forever
         if (mcastSoTimeout <= 0) {
@@ -258,7 +261,7 @@ public class McastServiceImpl extends 
MembershipProviderBase {
             }
             try {
                 if ( sender == null ) {
-                    socket.joinGroup(address);
+                    socket.joinGroup(new InetSocketAddress(address, 0), null);
                 }
             }catch (IOException iox) {
                 log.error(sm.getString("mcastServiceImpl.unable.join"));
@@ -275,7 +278,7 @@ public class McastServiceImpl extends 
MembershipProviderBase {
                 throw new 
IllegalStateException(sm.getString("mcastServiceImpl.send.running"));
             }
             if ( receiver == null ) {
-                socket.joinGroup(address);
+                socket.joinGroup(new InetSocketAddress(address, 0), null);
             }
             //make sure at least one packet gets out there
             send(false);
@@ -343,8 +346,16 @@ public class McastServiceImpl extends 
MembershipProviderBase {
             member.setCommand(Member.SHUTDOWN_PAYLOAD);
             send(false);
             //leave mcast group
-            try {socket.leaveGroup(address);}catch ( Exception ignore){}
-            try {socket.close();}catch ( Exception ignore){}
+            try {
+                socket.leaveGroup(new InetSocketAddress(address, 0), null);
+                } catch ( Exception ignore) {
+                    // NO-OP
+                }
+            try {
+                socket.close();
+            } catch (Exception ignore) {
+                // NO-OP
+            }
             member.setServiceStartTime(-1);
         }
         return (startLevel == 0);


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to