Skip to content

Commit

Permalink
Issue jetty#12047 allow disabling opening connectors before starting
Browse files Browse the repository at this point in the history
  • Loading branch information
kelunik committed Sep 2, 2024
1 parent caa09ad commit b2a0e81
Showing 1 changed file with 18 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ public class Server extends Handler.Wrapper implements Attributes
private final AutoLock _dateLock = new AutoLock();
private final MimeTypes.Mutable _mimeTypes = new MimeTypes.Mutable();
private String _serverInfo = __serverInfo;
private boolean _openEarly = true;
private boolean _stopAtShutdown;
private boolean _dumpAfterStart;
private boolean _dumpBeforeStop;
Expand Down Expand Up @@ -276,6 +277,22 @@ public InvocationType getInvocationType()
return type;
}

public boolean isOpenEarly()
{
return _openEarly;
}

/**
* Allows to disable early opening of network sockets. Network sockets are opened early by default.
* @param openEarly If {@code openEarly} is {@code true} (default), network sockets are opened before
* starting other components. If {@code openEarly} is {@code false}, network connectors open sockets
* when they're started.
*/
public void setOpenEarly(boolean openEarly)
{
_openEarly = openEarly;
}

public boolean isDryRun()
{
return _dryRun;
Expand Down Expand Up @@ -543,7 +560,7 @@ protected void doStart() throws Exception
final ExceptionUtil.MultiException multiException = new ExceptionUtil.MultiException();

// Open network connector to ensure ports are available
if (!_dryRun)
if (!_dryRun && _openEarly)
{
_connectors.stream().filter(NetworkConnector.class::isInstance).map(NetworkConnector.class::cast).forEach(connector ->
{
Expand Down

0 comments on commit b2a0e81

Please sign in to comment.