Cómo configurar múltiples controladores en Jetty y no obtener un error durante el inicio

Tengo un código de servidor que se ve así:

private WebAppContext getAspireWebAppContext() {
    WebAppContext root = new WebAppContext();
    root.setWar(config().<String>property("war.file"));
    root.setContextPath("/");
    return root;
}

private Server startWebApp(int port) {
  try {
    server.setConnectors(createConnectors(port));
    ServletContextHandler context = getAspireWebAppContext();
    server.setHandler(context);

    // Ensure that a websocket always has a HttpSession
    context.addFilter(HttpSessionForWebsocketFilter.class,"/ws/*",null);
    // add websocket support
    ServerContainer wscontainer = WebSocketServerContainerInitializer.configureContext( context );
    wscontainer.addEndpoint(EngineSocket.class);
    wscontainer.addEndpoint(WorkbenchSocket.class);

    server.start();
  } ....
}

Quiero usar un HandlerListpara poder agregar un RewriteHandler. Entonces traté de cambiarlo:

HandlerList handlers = new HandlerList();

server.setConnectors(createConnectors(port));
ServletContextHandler context = getAspireWebAppContext();
// server.setHandler(context);
handlers.addHandler(context);

// Ensure that a websocket always has a HttpSession
context.addFilter(HttpSessionForWebsocketFilter.class,"/ws/*",null);
// add websocket support
ServerContainer wscontainer = WebSocketServerContainerInitializer.configureContext( context );
wscontainer.addEndpoint(EngineSocket.class);
wscontainer.addEndpoint(WorkbenchSocket.class);

// RewriteHandler stuff
// handlers.addHandler(rewrite);

server.setHandler(handlers);
server.start();

Incluso antes de agregar más controladores, esto causa una excepción nula en la WebSocketServerContainerInitializer.configureContext(context)línea:

Causado por: java.lang.NullPointerException en org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer.configureContext (WebSocketServerContainerInitializer.java:148)

Leí en alguna parte que context.setServer(server);podría ayudar, pero fue en vano. ¿Qué estoy haciendo mal? Gracias

Respuesta 1

Tengo el siguiente código que crea un recurso RDF con algunas propiedades establecidas y lo imprime en la consola. Cadena uri = "http: // krweb /"; Nombre de cadena = "Giorgos Georgiou"; Teléfono de cadena = "...

Estoy escribiendo un software para la sincronización de datos de un software personalizado y sugarCRM. Por lo tanto, necesito una función updateOrCreate (). Mi problema es que el software personalizado usa otros uuid que ...

Estoy tratando de hacer un mapa de calor usando WeightedLatLng. En este momento muestra un aumento en la "intensidad" para valores altos o para valores bajos múltiples juntos. Quiero ser capaz de asimilar solo ...

En mi aplicación Java uso Spring Webflux como dependencia como: <dependencies> <dependency> <groupId> org.springframework.boot </groupId> <artifactId> ...