eclipse-ee4j / eclipse-ee4j/tyrus
Can't use lambda expression for MessageHandler
Open
- Dominant language
- Java
- Stars
- 128
- Forks
- 49
- PR merge metrics
- No merged PRs in 30d
Description
Neither of the following two lambda expression work, when registering a PongMessage handler.
```
session.addMessageHandler((MessageHandler.Whole) message -> {
});
```
```
session.addMessageHandler(PongMessage.class, message -> {
});
```
The reason is, that the internal method `static Class getHandlerType(MessageHandler handler)` returns `Object` instead of `PongMessage` for the type.
The workaround for this issue is to not using lambdas, but implement the interface on a class and use that:
```
class PongHandler implements MessageHandler.Whole
```
Contributor guide
Assessment
This issue has not been assessed yet.