eclipse-ee4j / eclipse-ee4j/jersey

Allow Grizzly HttpServer to have configurable portRange

Open
#3,443 6 comments 0 reactions 0 assignees View on GitHub
Component: containers Priority: Minor Type: Improvement
Dominant language
Java
Stars
730
Forks
382
PR merge metrics
No merged PRs in 30d

Description

My use case is to simply start a GrizzlyHttpServer without knowing the port on which it will be bound, but by specifying a port range on which it should bind.

Today, here is what I'm forced to do:

```
HttpServer server = GrizzlyHttpServerFactory.createHttpServer(new URI("http://localhost/api"), config, false); NetworkListener grizzlyListener = server.getListener("grizzly");

// Set a range instead a single port Field portField = grizzlyListener.getClass().getDeclaredField("port");
portField.setAccessible(true);
portField.set(grizzlyListener, -1);
Field portRangeField = grizzlyListener.getClass().getDeclaredField("portRange");
portRangeField.setAccessible(true);
portRangeField.set(grizzlyListener, new PortRange(49152, 65535)); // low & high thanks to http://stackoverflow.com/a/2675399/535203
server.start();
```

I think it should be easier if the port and portRange of grizzly NetworkListener fields were publicly settable.
#### Affected Versions
[2.22.2, 2.24, 2.23.2]

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.