eclipse-ee4j / eclipse-ee4j/tyrus

NPE in AnnotatedEndpoint with version 2.0.0 when no ServerEndpoint is configured

Open
#724 1 comment 0 reactions 0 assignees View on GitHub
enhancement Error-Handling
Dominant language
Java
Stars
128
Forks
49
PR merge metrics
No merged PRs in 30d

Description

I tried to migrate from previous version to 2.0.0, I replaced all javax.websocket to jakarta.websocket and I'm hitting this NPE:

```
[java.lang.NullPointerException
at org.glassfish.tyrus.core.AnnotatedEndpoint.(AnnotatedEndpoint.java:166)
at org.glassfish.tyrus.core.AnnotatedEndpoint.fromClass(AnnotatedEndpoint.java:117)
at org.glassfish.tyrus.core.TyrusWebSocketEngine.register(TyrusWebSocketEngine.java:647)
at org.glassfish.tyrus.container.grizzly.server.GrizzlyServerContainer$1.register(GrizzlyServerContainer.java:136)
at org.glassfish.tyrus.server.TyrusServerContainer.start(TyrusServerContainer.java:116)
at org.glassfish.tyrus.container.grizzly.server.GrizzlyServerContainer$1.start(GrizzlyServerContainer.java:200)
at org.glassfish.tyrus.server.Server.start(Server.java:205)
at com.github.cameltooling.lsp.internal.websocket.WebSocketRunner.runWebSocketServer(WebSocketRunner.java:43)
at com.github.cameltooling.lsp.internal.Runner.main(Runner.java:63)
at com.github.cameltooling.lsp.internal.RunnerWebSocketTest$2.run(RunnerWebSocketTest.java:128)
at java.base/java.lang.Thread.run(Thread.java:834)](url)
```

Here is the branch that I'm using https://github.com/apupier/camel-language-server/tree/tyrus.version-2.0.0-bugreport

Here is my [ServerApplicationConfig class](https://github.com/apupier/camel-language-server/blob/tyrus.version-2.0.0-bugreport/src/main/java/com/github/cameltooling/lsp/internal/websocket/CamelLSPWebSocketServerConfigProvider.java):

```
package com.github.cameltooling.lsp.internal.websocket;

import java.util.Collections;
import java.util.Set;

import jakarta.websocket.Endpoint;
import jakarta.websocket.server.ServerApplicationConfig;
import jakarta.websocket.server.ServerEndpointConfig;

public class CamelLSPWebSocketServerConfigProvider implements ServerApplicationConfig {

private static final String WEBSOCKET_CAMEL_SERVER_PATH = "/camel-language-server";

@Override
public Set getEndpointConfigs(Set> endpointClasses) {
ServerEndpointConfig conf = ServerEndpointConfig.Builder.create(CamelLSPWebSocketEndpoint.class, WEBSOCKET_CAMEL_SERVER_PATH).build();
return Collections.singleton(conf);
}

@Override
public Set> getAnnotatedEndpointClasses(Set> scanned) {
return scanned;
}

}
```

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.