【不兼容】WebSocket中onConnected、onClose方法的返回值由void改成CompletableFuture
This commit is contained in:
@@ -740,8 +740,11 @@ public abstract class WebSocket<G extends Serializable, T> {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* WebSokcet连接成功后的回调方法
|
* WebSokcet连接成功后的回调方法
|
||||||
|
*
|
||||||
|
* @return Future 可以为null
|
||||||
*/
|
*/
|
||||||
public void onConnected() {
|
public CompletableFuture onConnected() {
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -805,8 +808,11 @@ public abstract class WebSocket<G extends Serializable, T> {
|
|||||||
*
|
*
|
||||||
* @param code 结果码,非0表示非正常关闭
|
* @param code 结果码,非0表示非正常关闭
|
||||||
* @param reason 关闭原因
|
* @param reason 关闭原因
|
||||||
|
*
|
||||||
|
* @return Future 可以为null
|
||||||
*/
|
*/
|
||||||
public void onClose(int code, String reason) {
|
public CompletableFuture onClose(int code, String reason) {
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -59,7 +59,8 @@ class WebSocketRunner implements Runnable {
|
|||||||
final boolean debug = context.getLogger().isLoggable(Level.FINEST);
|
final boolean debug = context.getLogger().isLoggable(Level.FINEST);
|
||||||
final WebSocketRunner self = this;
|
final WebSocketRunner self = this;
|
||||||
try {
|
try {
|
||||||
webSocket.onConnected();
|
CompletableFuture connectfFuture = webSocket.onConnected();
|
||||||
|
if (connectfFuture != null) connectfFuture.join();
|
||||||
webSocket._channel.setReadTimeoutSeconds(300); //读取超时5分钟
|
webSocket._channel.setReadTimeoutSeconds(300); //读取超时5分钟
|
||||||
if (webSocket._channel.isOpen()) {
|
if (webSocket._channel.isOpen()) {
|
||||||
final int wsmaxbody = webSocket._engine.wsmaxbody;
|
final int wsmaxbody = webSocket._engine.wsmaxbody;
|
||||||
@@ -307,8 +308,9 @@ class WebSocketRunner implements Runnable {
|
|||||||
closed = true;
|
closed = true;
|
||||||
CompletableFuture<Void> future = engine.removeLocalThenClose(webSocket);
|
CompletableFuture<Void> future = engine.removeLocalThenClose(webSocket);
|
||||||
webSocket._channel.dispose();
|
webSocket._channel.dispose();
|
||||||
webSocket.onClose(code, reason);
|
CompletableFuture closeFuture = webSocket.onClose(code, reason);
|
||||||
return future;
|
if (closeFuture == null) return future;
|
||||||
|
return CompletableFuture.allOf(future, closeFuture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user