You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2023/01/12 16:53:33 UTC

[tomcat] branch main updated: Fix calls to methods deprecated in Java 14

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

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


The following commit(s) were added to refs/heads/main by this push:
     new 7d65d494c7 Fix calls to methods deprecated in Java 14
7d65d494c7 is described below

commit 7d65d494c760bd63897d0b6f67a543b37a639fc2
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Thu Jan 12 16:53:24 2023 +0000

    Fix calls to methods deprecated in Java 14
---
 .../catalina/tribes/membership/McastServiceImpl.java | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

diff --git a/java/org/apache/catalina/tribes/membership/McastServiceImpl.java b/java/org/apache/catalina/tribes/membership/McastServiceImpl.java
index a64d687efe..1fac0a4207 100644
--- a/java/org/apache/catalina/tribes/membership/McastServiceImpl.java
+++ b/java/org/apache/catalina/tribes/membership/McastServiceImpl.java
@@ -23,7 +23,9 @@ 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.net.StandardSocketOptions;
 import java.util.Arrays;
 import java.util.concurrent.atomic.AtomicBoolean;
 
@@ -217,12 +219,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.setOption(StandardSocketOptions.IP_MULTICAST_LOOP, Boolean.valueOf(!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) {
@@ -343,8 +347,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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org