Inspectopedia Help

Socket opened but not safely closed

Reports socket resources that are not safely closed. Socket resources reported by this inspection include java.net.Socket, java.net.DatagramSocket, and java.net.ServerSocket.

By default, the inspection assumes that the resources can be closed by any method with 'close' or 'cleanup' in its name.

Example:

byte[] getMessage(ServerSocket socket) throws IOException { Socket client = socket.accept(); //socket is not closed return client.getInputStream().readAllBytes(); }

Use the following options to configure the inspection:

  • Whether a socket is allowed to be opened inside a try block. This style is less desirable because it is more verbose than opening a resource in front of a try block.

  • Whether the resource can be closed by any method call with the resource passed as argument.

Inspection options

Option

Type

Default

Allow resource to be opened inside a 'try' block

Checkbox

false

Any method may close resource argument

Checkbox

true

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Java, 233.SNAPSHOT

Last modified: 13 July 2023