src/share/classes/sun/rmi/transport/tcp/TCPTransport.java
Print this page
@@ -47,10 +47,11 @@
import java.rmi.server.RemoteCall;
import java.rmi.server.ServerNotActiveException;
import java.rmi.server.UID;
import java.security.AccessControlContext;
import java.security.AccessController;
+import java.security.PrivilegedAction;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.WeakHashMap;
@@ -71,13 +72,10 @@
import sun.rmi.transport.StreamRemoteCall;
import sun.rmi.transport.Target;
import sun.rmi.transport.Transport;
import sun.rmi.transport.TransportConstants;
import sun.rmi.transport.proxy.HttpReceiveSocket;
-import sun.security.action.GetIntegerAction;
-import sun.security.action.GetLongAction;
-import sun.security.action.GetPropertyAction;
/**
* TCPTransport is the socket-based implementation of the RMI Transport
* abstraction.
*
@@ -88,23 +86,22 @@
public class TCPTransport extends Transport {
/* tcp package log */
static final Log tcpLog = Log.getLog("sun.rmi.transport.tcp", "tcp",
LogStream.parseLevel(AccessController.doPrivileged(
- new GetPropertyAction("sun.rmi.transport.tcp.logLevel"))));
+ (PrivilegedAction<String>) () -> System.getProperty("sun.rmi.transport.tcp.logLevel"))));
/** maximum number of connection handler threads */
private static final int maxConnectionThreads = // default no limit
- AccessController.doPrivileged(
- new GetIntegerAction("sun.rmi.transport.tcp.maxConnectionThreads",
+ AccessController.doPrivileged((PrivilegedAction<Integer>) () ->
+ Integer.getInteger("sun.rmi.transport.tcp.maxConnectionThreads",
Integer.MAX_VALUE));
/** keep alive time for idle connection handler threads */
private static final long threadKeepAliveTime = // default 1 minute
- AccessController.doPrivileged(
- new GetLongAction("sun.rmi.transport.tcp.threadKeepAliveTime",
- 60000));
+ AccessController.doPrivileged((PrivilegedAction<Long>) () ->
+ Long.getLong("sun.rmi.transport.tcp.threadKeepAliveTime", 60000));
/** thread pool for connection handlers */
private static final ExecutorService connectionThreadPool =
new ThreadPoolExecutor(0, maxConnectionThreads,
threadKeepAliveTime, TimeUnit.MILLISECONDS,
@@ -141,13 +138,12 @@
* timeout), and defaults to 2 hours.
* The maximum representable value is slightly more than 24 days
* and 20 hours.
*/
private static final int connectionReadTimeout = // default 2 hours
- AccessController.doPrivileged(
- new GetIntegerAction("sun.rmi.transport.tcp.readTimeout",
- 2 * 3600 * 1000));
+ AccessController.doPrivileged((PrivilegedAction<Integer>) () ->
+ Integer.getInteger("sun.rmi.transport.tcp.readTimeout", 2 * 3600 * 1000));
/**
* Constructs a TCPTransport.
*/
TCPTransport(LinkedList<TCPEndpoint> epList) {