WebSocket callbacks need to remain inner classes (retaining generics)
This commit is contained in:
parent
d5b0df8c3f
commit
b35274f5a7
|
|
@ -60,21 +60,44 @@ public class StandardWebSocketHandlerAdapter extends Endpoint {
|
|||
public void onOpen(final javax.websocket.Session session, EndpointConfig config) {
|
||||
this.wsSession.initializeNativeSession(session);
|
||||
|
||||
// The following inner classes need to remain since lambdas would not retain their
|
||||
// declared generic types (which need to be seen by the underlying WebSocket engine)
|
||||
|
||||
if (this.handler.supportsPartialMessages()) {
|
||||
session.addMessageHandler((MessageHandler.Partial<String>)
|
||||
(message, isLast) -> handleTextMessage(session, message, isLast));
|
||||
session.addMessageHandler((MessageHandler.Partial<ByteBuffer>)
|
||||
(message, isLast) -> handleBinaryMessage(session, message, isLast));
|
||||
session.addMessageHandler(new MessageHandler.Partial<String>() {
|
||||
@Override
|
||||
public void onMessage(String message, boolean isLast) {
|
||||
handleTextMessage(session, message, isLast);
|
||||
}
|
||||
});
|
||||
session.addMessageHandler(new MessageHandler.Partial<ByteBuffer>() {
|
||||
@Override
|
||||
public void onMessage(ByteBuffer message, boolean isLast) {
|
||||
handleBinaryMessage(session, message, isLast);
|
||||
}
|
||||
});
|
||||
}
|
||||
else {
|
||||
session.addMessageHandler((MessageHandler.Whole<String>)
|
||||
message -> handleTextMessage(session, message, true));
|
||||
session.addMessageHandler((MessageHandler.Whole<ByteBuffer>)
|
||||
message -> handleBinaryMessage(session, message, true));
|
||||
session.addMessageHandler(new MessageHandler.Whole<String>() {
|
||||
@Override
|
||||
public void onMessage(String message) {
|
||||
handleTextMessage(session, message, true);
|
||||
}
|
||||
});
|
||||
session.addMessageHandler(new MessageHandler.Whole<ByteBuffer>() {
|
||||
@Override
|
||||
public void onMessage(ByteBuffer message) {
|
||||
handleBinaryMessage(session, message, true);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
session.addMessageHandler((MessageHandler.Whole<javax.websocket.PongMessage>)
|
||||
message -> handlePongMessage(session, message.getApplicationData()));
|
||||
session.addMessageHandler(new MessageHandler.Whole<javax.websocket.PongMessage>() {
|
||||
@Override
|
||||
public void onMessage(javax.websocket.PongMessage message) {
|
||||
handlePongMessage(session, message.getApplicationData());
|
||||
}
|
||||
});
|
||||
|
||||
try {
|
||||
this.handler.afterConnectionEstablished(this.wsSession);
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2017 the original author or authors.
|
||||
* Copyright 2002-2018 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -55,7 +55,7 @@ public class WebLogicRequestUpgradeStrategy extends AbstractTyrusRequestUpgradeS
|
|||
|
||||
private static final WebLogicServletWriterHelper servletWriterHelper = new WebLogicServletWriterHelper();
|
||||
|
||||
private static final Connection.CloseListener noOpCloseListener = reason -> { };
|
||||
private static final Connection.CloseListener noOpCloseListener = (reason -> {});
|
||||
|
||||
|
||||
@Override
|
||||
|
|
|
|||
Loading…
Reference in New Issue