移除WebSocket泛型
This commit is contained in:
@@ -616,7 +616,7 @@ public final class Rest {
|
|||||||
"createWebSocket",
|
"createWebSocket",
|
||||||
"()" + wsDesc,
|
"()" + wsDesc,
|
||||||
"<G::Ljava/io/Serializable;T:Ljava/lang/Object;>()L"
|
"<G::Ljava/io/Serializable;T:Ljava/lang/Object;>()L"
|
||||||
+ WebSocket.class.getName().replace('.', '/') + "<TG;TT;>;",
|
+ WebSocket.class.getName().replace('.', '/') + "<TG;>;",
|
||||||
null));
|
null));
|
||||||
mv.visitTypeInsn(NEW, newDynName + "$" + newDynWebSokcetSimpleName);
|
mv.visitTypeInsn(NEW, newDynName + "$" + newDynWebSokcetSimpleName);
|
||||||
mv.visitInsn(DUP);
|
mv.visitInsn(DUP);
|
||||||
|
|||||||
@@ -46,10 +46,9 @@ import org.redkale.util.ByteArray;
|
|||||||
* <p>详情见: https://redkale.org
|
* <p>详情见: https://redkale.org
|
||||||
*
|
*
|
||||||
* @author zhangjx
|
* @author zhangjx
|
||||||
* @param <G> Groupid的泛型
|
* @param <G> userid的泛型
|
||||||
* @param <T> Message的泛型
|
|
||||||
*/
|
*/
|
||||||
public abstract class WebSocket<G extends Serializable, T> {
|
public abstract class WebSocket<G extends Serializable> {
|
||||||
|
|
||||||
// --------------------------- CLOSECODE -------------------------------
|
// --------------------------- CLOSECODE -------------------------------
|
||||||
@Comment("服务器主动关闭")
|
@Comment("服务器主动关闭")
|
||||||
@@ -835,14 +834,6 @@ public abstract class WebSocket<G extends Serializable, T> {
|
|||||||
messageEvent.run();
|
messageEvent.run();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 接收到消息的回调方法
|
|
||||||
*
|
|
||||||
* @param message 消息
|
|
||||||
* @param last 是否最后一条
|
|
||||||
*/
|
|
||||||
public void onMessage(T message, boolean last) {}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 接收到文本消息的回调方法
|
* 接收到文本消息的回调方法
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -477,7 +477,7 @@ public abstract class WebSocketServlet extends HttpServlet implements Resourcabl
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
protected abstract <G extends Serializable, T> WebSocket<G, T> createWebSocket();
|
protected abstract <G extends Serializable> WebSocket<G> createWebSocket();
|
||||||
|
|
||||||
protected WebSocketNode createWebSocketNode() {
|
protected WebSocketNode createWebSocketNode() {
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -29,13 +29,12 @@ public class ChatWebSocketServlet extends WebSocketServlet {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected WebSocket<Integer, ChatMessage> createWebSocket() {
|
protected WebSocket<Integer> createWebSocket() {
|
||||||
|
|
||||||
return new WebSocket<Integer, ChatMessage>() {
|
return new WebSocket<Integer>() {
|
||||||
|
|
||||||
private UserInfo user;
|
private UserInfo user;
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onMessage(
|
public void onMessage(
|
||||||
ChatMessage message,
|
ChatMessage message,
|
||||||
boolean last) { // text 接收的格式: {"receiveid":200000001, "content":"Hi Redkale!"}
|
boolean last) { // text 接收的格式: {"receiveid":200000001, "content":"Hi Redkale!"}
|
||||||
|
|||||||
@@ -86,7 +86,6 @@ public class VideoWebSocketServlet extends WebSocketServlet {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onMessage(Object text, boolean last) {
|
public void onMessage(Object text, boolean last) {
|
||||||
// System.out.println("接收到消息: " + text);
|
// System.out.println("接收到消息: " + text);
|
||||||
super.broadcastMessage(text, last);
|
super.broadcastMessage(text, last);
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import org.redkale.net.http.WebSocket;
|
|||||||
* @author zhangjx
|
* @author zhangjx
|
||||||
*/
|
*/
|
||||||
@RestWebSocket(name = "wstest", catalog = "ws", wsmaxconns = 100, comment = "WebSocket服务", repair = false)
|
@RestWebSocket(name = "wstest", catalog = "ws", wsmaxconns = 100, comment = "WebSocket服务", repair = false)
|
||||||
public class GameWebSocket extends WebSocket<Long, Object> {
|
public class GameWebSocket extends WebSocket<Long> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected CompletableFuture<String> onOpen(final HttpRequest request) {
|
protected CompletableFuture<String> onOpen(final HttpRequest request) {
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import org.redkale.test.rest.*;
|
|||||||
/** @author zhangjx */
|
/** @author zhangjx */
|
||||||
// anyuser = true 表示WebSocket.createUserid返回的值不表示用户登录态
|
// anyuser = true 表示WebSocket.createUserid返回的值不表示用户登录态
|
||||||
@RestWebSocket(name = "chat", catalog = "ws", comment = "文字聊天", anyuser = true)
|
@RestWebSocket(name = "chat", catalog = "ws", comment = "文字聊天", anyuser = true)
|
||||||
public class ChatWebSocket extends WebSocket<Integer, Object> {
|
public class ChatWebSocket extends WebSocket<Integer> {
|
||||||
|
|
||||||
// @Resource标记的Field只能被修饰为public或protected
|
// @Resource标记的Field只能被修饰为public或protected
|
||||||
@Resource
|
@Resource
|
||||||
|
|||||||
29
src/test/java/org/redkale/test/ws/WebSocketTest.java
Normal file
29
src/test/java/org/redkale/test/ws/WebSocketTest.java
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2016-2116 Redkale
|
||||||
|
* All rights reserved.
|
||||||
|
*/
|
||||||
|
package org.redkale.test.ws;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Assertions;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.redkale.net.http.Rest;
|
||||||
|
import org.redkale.net.http.WebSocketServlet;
|
||||||
|
import org.redkale.util.RedkaleClassLoader;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author zhangjx
|
||||||
|
*/
|
||||||
|
public class WebSocketTest {
|
||||||
|
public static void main(String[] args) throws Throwable {
|
||||||
|
WebSocketTest test = new WebSocketTest();
|
||||||
|
test.run1();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void run1() throws Exception {
|
||||||
|
RedkaleClassLoader classLoader = RedkaleClassLoader.currentClassLoader();
|
||||||
|
WebSocketServlet ws = Rest.createRestWebSocketServlet(classLoader, ChatWebSocket.class, null);
|
||||||
|
Assertions.assertTrue(ws != null);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -36,7 +36,7 @@ public final class _DyncChatWebSocketServlet extends WebSocketServlet {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected <G extends Serializable, T> WebSocket<G, T> createWebSocket() {
|
protected <G extends Serializable> WebSocket<G> createWebSocket() {
|
||||||
return (WebSocket) new _DyncChatWebSocket(_redkale_resource_0, _redkale_resource_1);
|
return (WebSocket) new _DyncChatWebSocket(_redkale_resource_0, _redkale_resource_1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user