Я расширяю серверное приложение glassfish.grizly, и у меня возникла проблема, при которой сервер будет прерываться и отключаться произвольно, даже в режиме ожидания:
Mar 19, 2019 4:32:26 PM org.glassfish.grizzly.http.server.NetworkListener start
INFO: Started listener bound to [0.0.0.0:8080]
Mar 19, 2019 4:32:26 PM org.glassfish.grizzly.http.server.HttpServer start
INFO: [HttpServer] Started.
Mar 19, 2019 4:32:26 PM org.glassfish.grizzly.servlet.WebappContext deploy
INFO: Starting application [GrizzlyContext] ...
Mar 19, 2019 4:32:26 PM org.glassfish.grizzly.servlet.WebappContext initServlets
INFO: [GrizzlyContext] Servlet [org.glassfish.jersey.servlet.ServletContainer] registered for url pattern(s) [[/*]].
Mar 19, 2019 4:32:26 PM org.glassfish.grizzly.servlet.WebappContext deploy
INFO: Application [GrizzlyContext] is ready to service requests. Root: [/].
Application started.
Try out http://0.0.0.0:8080/
*after a few minutes, without any interaction*
In shutdown hook
*quits*
public class MainClassName extends ResourceConfig {
public static void main(String[] args) {
//...
//Setup server for HTTP requests
try {
Map<String, String> initParams = new HashMap<>();
initParams.put(
ServerProperties.PROVIDER_PACKAGES,
Register.class.getPackage().getName());
initParams.put(
"jersey.config.server.provider.classnames",
"org.glassfish.jersey.media.multipart.MultiPartFeature");
initParams.put("jersey.config.servlet.filter.forwardOn404", "true");
final HttpServer server = GrizzlyWebContainerFactory.create(BASE_URI,
ServletContainer.class, initParams);
StaticHttpHandler staticHttpHandler = new StaticHttpHandler("src/main/java");
server.getServerConfiguration().addHttpHandler(staticHttpHandler, "/static/*");
Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
@Override
public void run() {
System.out.println("In shutdown hook");
server.shutdownNow();
}
}));
System.out.println(String.format("Application started.%nTry out %s%s%nStop the application using CTRL+C",
BASE_URI, ROOT_PATH));
Thread.currentThread().join();
} catch (IOException | InterruptedException ex) {
System.out.println("encountered IOException");
} } }
Используется версия 2.28 org.glassfish.jersey в pom.xml.
Я просматривал другие посты об этом, которые говорят мне проверить / var / log / syslog, чтобы увидеть, есть ли какие-либо сообщения о том, что память заканчивается для JVM, но там не было ни одного. Что я могу сделать для дальнейшего изучения этой проблемы?