移除WebSocket泛型
This commit is contained in:
@@ -616,7 +616,7 @@ public final class Rest {
|
||||
"createWebSocket",
|
||||
"()" + wsDesc,
|
||||
"<G::Ljava/io/Serializable;T:Ljava/lang/Object;>()L"
|
||||
+ WebSocket.class.getName().replace('.', '/') + "<TG;TT;>;",
|
||||
+ WebSocket.class.getName().replace('.', '/') + "<TG;>;",
|
||||
null));
|
||||
mv.visitTypeInsn(NEW, newDynName + "$" + newDynWebSokcetSimpleName);
|
||||
mv.visitInsn(DUP);
|
||||
|
||||
@@ -46,10 +46,9 @@ import org.redkale.util.ByteArray;
|
||||
* <p>详情见: https://redkale.org
|
||||
*
|
||||
* @author zhangjx
|
||||
* @param <G> Groupid的泛型
|
||||
* @param <T> Message的泛型
|
||||
* @param <G> userid的泛型
|
||||
*/
|
||||
public abstract class WebSocket<G extends Serializable, T> {
|
||||
public abstract class WebSocket<G extends Serializable> {
|
||||
|
||||
// --------------------------- CLOSECODE -------------------------------
|
||||
@Comment("服务器主动关闭")
|
||||
@@ -835,14 +834,6 @@ public abstract class WebSocket<G extends Serializable, T> {
|
||||
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() {
|
||||
return null;
|
||||
|
||||
@@ -29,13 +29,12 @@ public class ChatWebSocketServlet extends WebSocketServlet {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected WebSocket<Integer, ChatMessage> createWebSocket() {
|
||||
protected WebSocket<Integer> createWebSocket() {
|
||||
|
||||
return new WebSocket<Integer, ChatMessage>() {
|
||||
return new WebSocket<Integer>() {
|
||||
|
||||
private UserInfo user;
|
||||
|
||||
@Override
|
||||
public void onMessage(
|
||||
ChatMessage message,
|
||||
boolean last) { // text 接收的格式: {"receiveid":200000001, "content":"Hi Redkale!"}
|
||||
|
||||
@@ -86,7 +86,6 @@ public class VideoWebSocketServlet extends WebSocketServlet {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMessage(Object text, boolean last) {
|
||||
// System.out.println("接收到消息: " + text);
|
||||
super.broadcastMessage(text, last);
|
||||
|
||||
@@ -15,7 +15,7 @@ import org.redkale.net.http.WebSocket;
|
||||
* @author zhangjx
|
||||
*/
|
||||
@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
|
||||
protected CompletableFuture<String> onOpen(final HttpRequest request) {
|
||||
|
||||
@@ -15,7 +15,7 @@ import org.redkale.test.rest.*;
|
||||
/** @author zhangjx */
|
||||
// anyuser = true 表示WebSocket.createUserid返回的值不表示用户登录态
|
||||
@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
|
||||
|
||||
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
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user