-
Enhancement
-
Resolution: Fixed
-
P3
-
16
-
b06
"To reduce the risk of switching the implementation after more than twenty years, the old implementation will not be removed. The old implementation will remain in the JDK and a system property will be introduced to configure the JDK to use the old implementation. The JDK-specific system property to switch to the old implementation is jdk.net.usePlainSocketImpl. If set, or set to the value true, at startup, then the old implementation will be used. Some future release will remove PlainSocketImpl and the system property."
Similarly, in JDK 15, JEP 373 has provided a new implementation for DatagramSocket and MulticastSocket, with a JDK-specific property "jdk.net.usePlainDatagramSocketImpl" allowing to switch back to the old implementation in case of compatibility issue.
"To reduce the risk of switching the implementation after more than twenty years, the legacy implementation will not be removed. A JDK-specific system property, jdk.net.usePlainDatagramSocketImpl, is introduced to configure the JDK to use the legacy implementation (see risks and assumptions, below). If set with no value or set to the value ”true" at startup, the legacy implementation is used. Otherwise, the new (NIO-based) implementation is used. In some future release we will remove the legacy implementation and the system property. "
The PlainSocketImpl and PlainDatagramSocketImpl implementations and associated native code are therefore still present in the JDK, and represent a maintenance burden that we should be looking at removing definitively.
- csr for
-
JDK-8269759 Remove the legacy PlainSocketImpl and PlainDatagramSocketImpl implementation
- Closed
- relates to
-
JDK-8269811 Release Note: Removal of Legacy PlainSocketImpl and PlainDatagramSocketImpl Implementations
- Closed
-
JDK-8221481 Reimplement the Legacy Socket API
- Resolved
-
JDK-8218559 JEP 353: Reimplement the Legacy Socket API
- Closed
-
JDK-8235674 JEP 373: Reimplement the Legacy DatagramSocket API
- Closed
-
JDK-8278229 com/sun/jndi/dns/ConfigTests/PortUnreachable.java and Timeout.java fails with javax.naming.CommunicationException
- Open
-
JDK-8303616 DatagramSocket performance regression with concurrent senders
- Open
-
JDK-8221119 PlainDatagramSocketImpl.c: createBoolean need not create new instances.
- Open