diff --git a/.gitignore b/.gitignore
index c5b3f1dc581f3166ff1ef661aec59ec1bb14f31d..c70c359b279541a908087123a49115bbe7433a71 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@
target
/.idea
/limitart.iml
+.tmp
diff --git a/config/pom.xml b/config/pom.xml
index 7921366058ee8bf385f2d0c774265d7c0fc441de..509adf2bc79c9480dd77f6f7c4600a56235c1b90 100644
--- a/config/pom.xml
+++ b/config/pom.xml
@@ -5,7 +5,7 @@
limitart
top.limitart
- 3.1.0
+ 3.2.0-SNAPSHOT
4.0.0
diff --git a/core/pom.xml b/core/pom.xml
index 1213408ed116de5ec91f5ae320b0d8ac720a8b67..de313a31c4564c2320a2edee37ed714961ce7a17 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -5,7 +5,7 @@
top.limitart
limitart
- 3.1.0
+ 3.2.0-SNAPSHOT
4.0.0
diff --git a/core/src/main/java/top/limitart/base/BinaryMeta.java b/core/src/main/java/top/limitart/base/BinaryMeta.java
index eaf18e01fbfcd1c845fa337dcf93d3b61f7c0fe6..8caa0a00705cc5531f401210f1b8a0685cb7f943 100644
--- a/core/src/main/java/top/limitart/base/BinaryMeta.java
+++ b/core/src/main/java/top/limitart/base/BinaryMeta.java
@@ -42,6 +42,7 @@ import java.util.concurrent.ConcurrentHashMap;
*/
@SuppressWarnings({"rawtypes", "unchecked"})
public class BinaryMeta implements Closeable {
+
private static boolean COMPRESS_INT32_64 = true;
private static final Map, ConstructorAccess> messageMetaCache =
new ConcurrentHashMap<>();
@@ -62,7 +63,8 @@ public class BinaryMeta implements Closeable {
replaceBuffer(buffer);
}
- public BinaryMeta() {}
+ public BinaryMeta() {
+ }
/**
* 替换buffer
@@ -80,7 +82,9 @@ public class BinaryMeta implements Closeable {
return buffer;
}
- /** 仅仅置空,不减少引用计数 */
+ /**
+ * 仅仅置空,不减少引用计数
+ */
public void softClose() {
Conditions.notNull(this.buffer, "already release");
this.buffer = null;
@@ -268,6 +272,8 @@ public class BinaryMeta implements Closeable {
putMessageMetaList((List) object);
} else if (component == String.class) {
putStringList((List) object);
+ } else if (component == byte[].class) {
+ putByteArrayList((List) object);
}
} else {
if (type == Byte.class) {
@@ -487,6 +493,8 @@ public class BinaryMeta implements Closeable {
field.set(this, getMessageMetaList((Class extends BinaryMeta>) component));
} else if (component == String.class) {
field.set(this, getStringList());
+ } else if (component == byte[].class) {
+ field.set(this, getByteArrayList());
}
} else {
if (type == Byte.class) {
@@ -1055,7 +1063,9 @@ public class BinaryMeta implements Closeable {
return new ArrayList<>();
default:
List list = new ArrayList<>();
- list.add(getByteArray());
+ for (int i = 0; i < len; i++) {
+ list.add(getByteArray());
+ }
return list;
}
}
diff --git a/core/src/main/java/top/limitart/base/IntCounter.java b/core/src/main/java/top/limitart/base/IntCounter.java
index c903488499d7a5ad9827b57224f53432ae860266..b042d68806a70d96ce03216534448580f605799b 100644
--- a/core/src/main/java/top/limitart/base/IntCounter.java
+++ b/core/src/main/java/top/limitart/base/IntCounter.java
@@ -16,7 +16,7 @@
package top.limitart.base;
import top.limitart.base.label.ThreadUnsafe;
-import top.limitart.util.GameMathUtil;
+import top.limitart.util.MathUtil;
/**
* int计数器
@@ -90,7 +90,7 @@ public class IntCounter {
* @return
*/
protected int setCount(int value) {
- return this.count = GameMathUtil.fixedBetween(value, low(), high());
+ return this.count = MathUtil.fixedBetween(value, low(), high());
}
/**
@@ -147,7 +147,7 @@ public class IntCounter {
*/
public int getAndAdd(int delta) {
int old = getCount();
- setCount(GameMathUtil.safeAdd(old, delta));
+ setCount(MathUtil.safeAdd(old, delta));
return old;
}
diff --git a/core/src/main/java/top/limitart/base/LongCounter.java b/core/src/main/java/top/limitart/base/LongCounter.java
index 8bb27a19cbde6d48c03c19b9f8d9752ca9d22ebc..8effee088fead41b294b5beb9efa2e52c8cb56e0 100644
--- a/core/src/main/java/top/limitart/base/LongCounter.java
+++ b/core/src/main/java/top/limitart/base/LongCounter.java
@@ -16,7 +16,7 @@
package top.limitart.base;
import top.limitart.base.label.ThreadUnsafe;
-import top.limitart.util.GameMathUtil;
+import top.limitart.util.MathUtil;
/**
* 计数器
@@ -87,7 +87,7 @@ public class LongCounter {
* @return
*/
public long setCount(long value) {
- return this.count = GameMathUtil.fixedBetween(value, low(), high());
+ return this.count = MathUtil.fixedBetween(value, low(), high());
}
/**
@@ -115,7 +115,7 @@ public class LongCounter {
* @return
*/
public long addAndGet(long delta) {
- return setCount(GameMathUtil.safeAdd(getCount(), delta));
+ return setCount(MathUtil.safeAdd(getCount(), delta));
}
/**
@@ -144,7 +144,7 @@ public class LongCounter {
*/
public long getAndAdd(long delta) {
long old = getCount();
- setCount(GameMathUtil.safeAdd(old, delta));
+ setCount(MathUtil.safeAdd(old, delta));
return old;
}
diff --git a/core/src/main/java/top/limitart/base/SmoothRandomWeight.java b/core/src/main/java/top/limitart/base/SmoothRandomWeight.java
index 05e9c920840b2decb3efbac3b78cb6cf1ca40cd2..ad7818b8ccc3991c9d077f06f3d63600f1852e8d 100644
--- a/core/src/main/java/top/limitart/base/SmoothRandomWeight.java
+++ b/core/src/main/java/top/limitart/base/SmoothRandomWeight.java
@@ -19,7 +19,7 @@
package top.limitart.base;
import top.limitart.base.label.ThreadSafe;
-import top.limitart.util.GameMathUtil;
+import top.limitart.util.MathUtil;
import top.limitart.util.RandomUtil;
/** 平滑加权随机Created by Hank on 2019/4/26 */
@@ -47,7 +47,7 @@ public class SmoothRandomWeight {
int sum = 0;
boolean allSame = true;
// 降低数据量级
- int gcd = GameMathUtil.gcd(weights);
+ int gcd = MathUtil.gcd(weights);
for (int i = 0; i < weights.length; i++) {
this.weights[i] = weights[i] / gcd;
sum += this.weights[i];
@@ -57,7 +57,7 @@ public class SmoothRandomWeight {
}
this.allSame = allSame;
this.sum = sum;
- this.deviationFactor = GameMathUtil.fixedBetween(deviationFactor, 0, 1);
+ this.deviationFactor = MathUtil.fixedBetween(deviationFactor, 0, 1);
this.curFactor = deviationFactor;
}
@@ -66,7 +66,7 @@ public class SmoothRandomWeight {
// 如果长度都不一样,直接全部重置
reset(weights, this.deviationFactor);
} else {
- int gcd = GameMathUtil.gcd(weights);
+ int gcd = MathUtil.gcd(weights);
int sum = 0;
boolean allSame = true;
for (int i = 0; i < weights.length; i++) {
diff --git a/core/src/main/java/top/limitart/collections/AbstractIntMap.java b/core/src/main/java/top/limitart/collections/AbstractIntMap.java
index ec99d2abd57f565544171a47b0b5fa24db96ee52..cc9a9a6b97359531060f2ceef29bdc5067f2ab66 100644
--- a/core/src/main/java/top/limitart/collections/AbstractIntMap.java
+++ b/core/src/main/java/top/limitart/collections/AbstractIntMap.java
@@ -16,7 +16,7 @@
package top.limitart.collections;
import top.limitart.base.NotImplementedException;
-import top.limitart.util.GameMathUtil;
+import top.limitart.util.MathUtil;
import java.util.Collection;
import java.util.Map;
@@ -102,7 +102,7 @@ public abstract class AbstractIntMap implements IntMap {
*/
@Override
public int addAndGet(K key, int delta) {
- return accumulateAndGet(key, delta, GameMathUtil::safeAdd);
+ return accumulateAndGet(key, delta, MathUtil::safeAdd);
}
/**
@@ -136,7 +136,7 @@ public abstract class AbstractIntMap implements IntMap {
*/
@Override
public int getAndAdd(K key, int delta) {
- return getAndAccumulate(key, delta, GameMathUtil::safeAdd);
+ return getAndAccumulate(key, delta, MathUtil::safeAdd);
}
/**
diff --git a/core/src/main/java/top/limitart/collections/AbstractLongMap.java b/core/src/main/java/top/limitart/collections/AbstractLongMap.java
index 621dbcb93c7969607b797a939557beb98a0b0ab2..7b8777156da6460bf4ba43e5ed214a56866d1978 100644
--- a/core/src/main/java/top/limitart/collections/AbstractLongMap.java
+++ b/core/src/main/java/top/limitart/collections/AbstractLongMap.java
@@ -16,7 +16,7 @@
package top.limitart.collections;
import top.limitart.base.NotImplementedException;
-import top.limitart.util.GameMathUtil;
+import top.limitart.util.MathUtil;
import java.util.Collection;
import java.util.Map;
@@ -102,7 +102,7 @@ public abstract class AbstractLongMap implements LongMap {
*/
@Override
public long addAndGet(K key, long delta) {
- return accumulateAndGet(key, delta, GameMathUtil::safeAdd);
+ return accumulateAndGet(key, delta, MathUtil::safeAdd);
}
/**
@@ -136,7 +136,7 @@ public abstract class AbstractLongMap implements LongMap {
*/
@Override
public long getAndAdd(K key, long delta) {
- return getAndAccumulate(key, delta, GameMathUtil::safeAdd);
+ return getAndAccumulate(key, delta, MathUtil::safeAdd);
}
/**
diff --git a/core/src/main/java/top/limitart/collections/ConcurrentHashSet.java b/core/src/main/java/top/limitart/collections/ConcurrentHashSet.java
index 14b402f37419451d9dd95a65da2b4ffdf5a3b2b5..1fe11e10aed95d340027cfdedeb05a281204a972 100644
--- a/core/src/main/java/top/limitart/collections/ConcurrentHashSet.java
+++ b/core/src/main/java/top/limitart/collections/ConcurrentHashSet.java
@@ -15,6 +15,7 @@
*/
package top.limitart.collections;
+import java.util.Collection;
import top.limitart.base.label.ThreadSafe;
import java.util.AbstractSet;
@@ -43,6 +44,10 @@ public class ConcurrentHashSet extends AbstractSet {
map = new ConcurrentHashMap<>(initialCapacity);
}
+ public ConcurrentHashSet(Collection collection) {
+ map = new ConcurrentHashMap<>();
+ addAll(collection);
+ }
@Override
public Iterator iterator() {
return map.keySet().iterator();
diff --git a/core/src/main/java/top/limitart/collections/ConcurrentTable.java b/core/src/main/java/top/limitart/collections/ConcurrentTable.java
index fc48314a257b98e641cceb1a2cd3a99f5c78c449..9a4b4eaea1b7d03fcd0c81713671d9c22757f1c4 100644
--- a/core/src/main/java/top/limitart/collections/ConcurrentTable.java
+++ b/core/src/main/java/top/limitart/collections/ConcurrentTable.java
@@ -26,6 +26,7 @@ import java.util.concurrent.ConcurrentHashMap;
* @author hank
*/
@ThreadSafe
+@Deprecated
public class ConcurrentTable implements Table {
private final Map> maps = new ConcurrentHashMap<>();
diff --git a/core/src/main/java/top/limitart/collections/EnumIntCounter.java b/core/src/main/java/top/limitart/collections/EnumIntCounter.java
index 2fd3b31efeb80b0726a8aeb0a044538d9cb7980a..e14125116ea0a9b831e710d8f6abbd5b42e5f721 100644
--- a/core/src/main/java/top/limitart/collections/EnumIntCounter.java
+++ b/core/src/main/java/top/limitart/collections/EnumIntCounter.java
@@ -17,7 +17,7 @@ package top.limitart.collections;
import top.limitart.base.label.ThreadUnsafe;
import top.limitart.util.EnumUtil;
-import top.limitart.util.GameMathUtil;
+import top.limitart.util.MathUtil;
import java.util.Arrays;
import java.util.Iterator;
@@ -148,7 +148,7 @@ public class EnumIntCounter> implements Iterable {
* @return
*/
public int addAndGet(E key, int delta) {
- int result = GameMathUtil.safeAdd(getCount(key), delta);
+ int result = MathUtil.safeAdd(getCount(key), delta);
putCount(key, result);
return result;
}
@@ -182,7 +182,7 @@ public class EnumIntCounter> implements Iterable {
*/
public int getAndAdd(E key, int delta) {
int old = getCount(key);
- putCount(key, GameMathUtil.safeAdd(old, delta));
+ putCount(key, MathUtil.safeAdd(old, delta));
return old;
}
diff --git a/core/src/main/java/top/limitart/collections/HashedTable.java b/core/src/main/java/top/limitart/collections/HashedTable.java
index f3dbfb06a26c1f5984f894fdac39a885383a02a1..898167a6a34f402eb08776ee94f183375ddfeec4 100644
--- a/core/src/main/java/top/limitart/collections/HashedTable.java
+++ b/core/src/main/java/top/limitart/collections/HashedTable.java
@@ -25,6 +25,7 @@ import java.util.*;
* @author hank
*/
@ThreadUnsafe
+@Deprecated
public class HashedTable implements Table {
private final Map> maps = new HashMap<>();
diff --git a/core/src/main/java/top/limitart/collections/Table.java b/core/src/main/java/top/limitart/collections/Table.java
index 1f540295d3ccd59663d59d4d6ae3926cfa72e7db..fe4df445e4183f224e1be2f67355f4568748401f 100644
--- a/core/src/main/java/top/limitart/collections/Table.java
+++ b/core/src/main/java/top/limitart/collections/Table.java
@@ -10,6 +10,7 @@ import java.util.Set;
* @author hank
* @version 2017/12/18 0018 19:34
*/
+@Deprecated
public interface Table {
static Table empty() {
return new HashedTable<>();
diff --git a/core/src/main/java/top/limitart/concurrent/DisruptorTaskQueue.java b/core/src/main/java/top/limitart/concurrent/DisruptorTaskQueue.java
index 9f954dd6621bed5c6f13fde8cb5c1a991b876064..0d88dedd3f2e6404115f2cf776dd7faffe9e1576 100644
--- a/core/src/main/java/top/limitart/concurrent/DisruptorTaskQueue.java
+++ b/core/src/main/java/top/limitart/concurrent/DisruptorTaskQueue.java
@@ -17,11 +17,14 @@ package top.limitart.concurrent;
import com.lmax.disruptor.BlockingWaitStrategy;
import com.lmax.disruptor.ExceptionHandler;
+import com.lmax.disruptor.InsufficientCapacityException;
import com.lmax.disruptor.dsl.Disruptor;
import com.lmax.disruptor.dsl.ProducerType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import top.limitart.base.Alone;
+import top.limitart.base.Conditions;
+import top.limitart.base.UncatchableException;
import top.limitart.base.function.Process3;
import top.limitart.base.function.Processes;
@@ -31,10 +34,12 @@ import top.limitart.base.function.Processes;
* @author Hank
*/
public class DisruptorTaskQueue extends AbstractTaskQueue {
+
private static final Logger LOGGER = LoggerFactory.getLogger(DisruptorTaskQueue.class);
private final Disruptor> disruptor;
private final SingletonThreadFactory threadFactory;
private Process3 exception;
+ private ExecuteStrategy strategy = ExecuteStrategy.BLOCK_BUT_NOTICE;
public static DisruptorTaskQueue create(SingletonThreadFactory threadFactory) {
return new DisruptorTaskQueue(threadFactory);
@@ -59,6 +64,7 @@ public class DisruptorTaskQueue extends AbstractTaskQueue {
private DisruptorTaskQueue(String threadName) {
this(threadName, 2 << 12); // 4096
}
+
/**
* 构造函数
*
@@ -76,11 +82,12 @@ public class DisruptorTaskQueue extends AbstractTaskQueue {
},
bufferSize);
}
+
/**
* 构造函数
*
* @param threadFactory
- * @param bufferSize 指定RingBuffer的大小
+ * @param bufferSize 指定RingBuffer的大小
*/
@SuppressWarnings("unchecked")
private DisruptorTaskQueue(SingletonThreadFactory threadFactory, int bufferSize) {
@@ -133,9 +140,50 @@ public class DisruptorTaskQueue extends AbstractTaskQueue {
return this;
}
+ /**
+ * 设置执行队列满时的策略
+ *
+ * @param strategy
+ * @return
+ */
+ public DisruptorTaskQueue executeStrategy(ExecuteStrategy strategy) {
+ this.strategy = strategy;
+ return this;
+ }
+
@Override
public void execute0(Runnable runnable) {
- disruptor.getRingBuffer().publishEvent((event, sequence) -> event.set(runnable));
+ Conditions.notNull(runnable);
+ try {
+ long next = disruptor.getRingBuffer().tryNext();
+ publish(runnable, next);
+ } catch (InsufficientCapacityException e) {
+ //这里用不用tryPublishEvent,他内部会默认阻塞当前线程,知道能插入为止。用try让他快速失败,我们好调试我们的程序到底是消费过慢还是生产过快,因为此队列假设的是消费必须比生产快
+ if (this.strategy == ExecuteStrategy.FAST_FAIL
+ || this.strategy == ExecuteStrategy.BLOCK_BUT_NOTICE) {
+ UncatchableException uncatchableException = new UncatchableException(
+ "task queue " + this.thread().getName()
+ + " is not enough to execute task, maybe customer is too slowly or provider is too fast! ");
+ LOGGER.error("no capacity", uncatchableException);
+ Processes.invoke(exception, runnable,
+ uncatchableException,
+ disruptor.getCursor() + 1);
+ }
+ if (this.strategy == ExecuteStrategy.BLOCK_BUT_NOTICE
+ || this.strategy == ExecuteStrategy.BLOCK) {
+ //阻塞
+ long next = disruptor.getRingBuffer().next();
+ publish(runnable, next);
+ }
+ }
+ }
+
+ private void publish(Runnable runnable, long seq) {
+ try {
+ disruptor.getRingBuffer().get(seq).set(runnable);
+ } finally {
+ disruptor.getRingBuffer().publish(seq);
+ }
}
@Override
@@ -150,4 +198,19 @@ public class DisruptorTaskQueue extends AbstractTaskQueue {
LOGGER.info("thread " + threadFactory.get().getName() + " stop!");
}
}
+
+ public enum ExecuteStrategy {
+ /**
+ * 如果无法入队,则直接失败
+ */
+ FAST_FAIL,
+ /**
+ * 如果无法入队,则阻塞等待,但会警告
+ */
+ BLOCK_BUT_NOTICE,
+ /**
+ * 如果无法入队,则阻塞等待
+ */
+ BLOCK
+ }
}
diff --git a/core/src/main/java/top/limitart/util/CodecUtil.java b/core/src/main/java/top/limitart/util/CodecUtil.java
index 6bd22d0779bdbc3c72811c7ff25433f02b92c049..59fc91115f7b23bdf674ded33208887ad8e08e77 100644
--- a/core/src/main/java/top/limitart/util/CodecUtil.java
+++ b/core/src/main/java/top/limitart/util/CodecUtil.java
@@ -37,9 +37,13 @@ import java.util.zip.GZIPOutputStream;
* @author hank
* @version 2018/4/20 0020 11:06
*/
-public class CodecUtil {
+public final class CodecUtil {
+
private static final Logger LOGGER = LoggerFactory.getLogger(CodecUtil.class);
+ private CodecUtil() {
+ }
+
public static String urlEncode(String str) throws UnsupportedEncodingException {
return URLEncoder.encode(str, StandardCharsets.UTF_8.name());
}
diff --git a/core/src/main/java/top/limitart/util/EnumUtil.java b/core/src/main/java/top/limitart/util/EnumUtil.java
index fa99fd3550e119bf6286ce750ed3d2fba7b60fb0..4522fc92230b1d00a9a244d3d07a8eb07d48321c 100644
--- a/core/src/main/java/top/limitart/util/EnumUtil.java
+++ b/core/src/main/java/top/limitart/util/EnumUtil.java
@@ -24,6 +24,10 @@ import top.limitart.base.label.Nullable;
* @version 2018/2/12 0012 20:22
*/
public final class EnumUtil {
+
+ private EnumUtil() {
+ }
+
/**
* 获取序号对应的枚举类型
*
diff --git a/core/src/main/java/top/limitart/util/HTTPClient.java b/core/src/main/java/top/limitart/util/HTTPClient.java
index 5c44b7f8a4d92d41ab44b1f4c40cf23b398c6041..6289be670ba042e262d7a5ffd675db0625d1cd98 100644
--- a/core/src/main/java/top/limitart/util/HTTPClient.java
+++ b/core/src/main/java/top/limitart/util/HTTPClient.java
@@ -33,10 +33,16 @@ import java.util.Map;
import java.util.concurrent.Executor;
import java.util.concurrent.Future;
-/** HTTP客户端 Created by Hank on 2019/3/17 */
-public class HTTPClient {
+/**
+ * HTTP客户端 Created by Hank on 2019/3/17
+ */
+public final class HTTPClient {
+
private static final Logger LOGGER = LoggerFactory.getLogger(HTTPClient.class);
+ private HTTPClient() {
+ }
+
public static byte[] download(String uri) {
return download(uri);
}
diff --git a/core/src/main/java/top/limitart/util/GameMathUtil.java b/core/src/main/java/top/limitart/util/MathUtil.java
similarity index 99%
rename from core/src/main/java/top/limitart/util/GameMathUtil.java
rename to core/src/main/java/top/limitart/util/MathUtil.java
index b2de41296828e1e5572bc0d28d46787fd919dba1..8b27d344547a33b9132d65deac5b677febc711ce 100644
--- a/core/src/main/java/top/limitart/util/GameMathUtil.java
+++ b/core/src/main/java/top/limitart/util/MathUtil.java
@@ -27,8 +27,8 @@ import java.util.List;
*
* @author hank
*/
-public final class GameMathUtil {
- private GameMathUtil() {}
+public final class MathUtil {
+ private MathUtil() {}
/**
* 安全相加,如果越界返回int最大值
diff --git a/core/src/main/java/top/limitart/util/ObjectUtil.java b/core/src/main/java/top/limitart/util/ObjectUtil.java
index dd8bd98155a288682b2c7d2c8fe6456e24c0152c..3e02ecd9c56bf51e282d0a621c640d8be9a4c409 100644
--- a/core/src/main/java/top/limitart/util/ObjectUtil.java
+++ b/core/src/main/java/top/limitart/util/ObjectUtil.java
@@ -8,7 +8,11 @@ import java.lang.reflect.Field;
* @author hank
* @version 2018/12/28 0028 20:27
*/
-public class ObjectUtil {
+public final class ObjectUtil {
+
+ private ObjectUtil() {
+ }
+
/**
* 通过反射字段拷贝
*
diff --git a/core/src/test/java/top/limitart/util/GameMathUtilTest.java b/core/src/test/java/top/limitart/util/GameMathUtilTest.java
index 5c80219ac5afaf51c2dcc97cc2f0642cde5f7a85..76a9c9e43d1fa1634e846ee6cec160f37e5985d1 100644
--- a/core/src/test/java/top/limitart/util/GameMathUtilTest.java
+++ b/core/src/test/java/top/limitart/util/GameMathUtilTest.java
@@ -30,11 +30,11 @@ public class GameMathUtilTest {
@Test
public void safeTest() {
- Assert.assertTrue(GameMathUtil.safeAdd(10, 11) == 21);
- Assert.assertTrue(GameMathUtil.safeAdd(Integer.MAX_VALUE, 1) == Integer.MAX_VALUE);
- Assert.assertTrue(GameMathUtil.safeSub(10, 11) == -1);
- Assert.assertTrue(GameMathUtil.safeSub(Integer.MIN_VALUE, 1) == Integer.MIN_VALUE);
- Assert.assertTrue(GameMathUtil.safeMulti(10, 11) == 110);
- Assert.assertTrue(GameMathUtil.safeMulti(Integer.MAX_VALUE, 10) == Integer.MAX_VALUE);
+ Assert.assertTrue(MathUtil.safeAdd(10, 11) == 21);
+ Assert.assertTrue(MathUtil.safeAdd(Integer.MAX_VALUE, 1) == Integer.MAX_VALUE);
+ Assert.assertTrue(MathUtil.safeSub(10, 11) == -1);
+ Assert.assertTrue(MathUtil.safeSub(Integer.MIN_VALUE, 1) == Integer.MIN_VALUE);
+ Assert.assertTrue(MathUtil.safeMulti(10, 11) == 110);
+ Assert.assertTrue(MathUtil.safeMulti(Integer.MAX_VALUE, 10) == Integer.MAX_VALUE);
}
}
diff --git a/db/pom.xml b/db/pom.xml
index 04650b8b647ed43ccb8b6bb89b89b3891cc61fe4..4773a36cab0d09da4c5e651ea45bb58fa7c0eea9 100644
--- a/db/pom.xml
+++ b/db/pom.xml
@@ -5,7 +5,7 @@
limitart
top.limitart
- 3.1.0
+ 3.2.0-SNAPSHOT
4.0.0
diff --git a/db/src/main/java/top/limitart/db/DBHandler.java b/db/src/main/java/top/limitart/db/DBHelper.java
similarity index 84%
rename from db/src/main/java/top/limitart/db/DBHandler.java
rename to db/src/main/java/top/limitart/db/DBHelper.java
index c22101212f6849a296e82698b75a51198722e2a2..e17658b1bbf3de9671cae97ca0405d6c497013d5 100644
--- a/db/src/main/java/top/limitart/db/DBHandler.java
+++ b/db/src/main/java/top/limitart/db/DBHelper.java
@@ -29,15 +29,15 @@ import java.util.List;
* @author hank
* @version 2018/4/14 0014 16:47
*/
-public interface DBHandler extends AutoCloseable {
+public interface DBHelper extends AutoCloseable {
/**
* 创建一个实际的数据库
*
* @param dataSource
* @return
*/
- static DBHandler createReal(DBDataSource dataSource) {
- return new SimpleDBHandler(dataSource);
+ static DBHelper createSimple(DBDataSource dataSource) {
+ return new SimpleDBHelper(dataSource);
}
/**
@@ -45,8 +45,9 @@ public interface DBHandler extends AutoCloseable {
*
* @return
*/
- static DBHandler createFake() {
- return new FakeDBHandler();
+ @Deprecated
+ static DBHelper createFake() {
+ return new FakeDBHelper();
}
/**
@@ -74,7 +75,7 @@ public interface DBHandler extends AutoCloseable {
* @return
* @throws SQLException
*/
- List selectList(Select select, ResultHandler handler) throws SQLException;
+ List selectList(Select select, QueryResult handler) throws SQLException;
/**
* 查找单个实例
@@ -85,7 +86,7 @@ public interface DBHandler extends AutoCloseable {
* @return
* @throws SQLException
*/
- T selectOne(Select select, ResultHandler handler) throws SQLException;
+ T selectOne(Select select, QueryResult handler) throws SQLException;
/**
* 更新(插入、更新、删除)
diff --git a/db/src/main/java/top/limitart/db/FakeDBHandler.java b/db/src/main/java/top/limitart/db/FakeDBHelper.java
similarity index 86%
rename from db/src/main/java/top/limitart/db/FakeDBHandler.java
rename to db/src/main/java/top/limitart/db/FakeDBHelper.java
index 00f61c3ffe50356e73ddd7ba42ccf2de4a732046..31cf85dffc9361c47d712e8823cc64f2eba84d29 100644
--- a/db/src/main/java/top/limitart/db/FakeDBHandler.java
+++ b/db/src/main/java/top/limitart/db/FakeDBHelper.java
@@ -29,19 +29,20 @@ import java.util.List;
* @author hank
* @version 2018/4/14 0014 16:47
*/
-public class FakeDBHandler implements DBHandler {
+@Deprecated
+public class FakeDBHelper implements DBHelper {
@Override
public DataSource dataSource() {
throw new UnsupportedOperationException();
}
@Override
- public List selectList(Select select, ResultHandler handler) throws SQLException {
+ public List selectList(Select select, QueryResult handler) throws SQLException {
return Collections.EMPTY_LIST;
}
@Override
- public T selectOne(Select select, ResultHandler handler) throws SQLException {
+ public T selectOne(Select select, QueryResult handler) throws SQLException {
return null;
}
diff --git a/db/src/main/java/top/limitart/db/ResultHandler.java b/db/src/main/java/top/limitart/db/QueryResult.java
similarity index 95%
rename from db/src/main/java/top/limitart/db/ResultHandler.java
rename to db/src/main/java/top/limitart/db/QueryResult.java
index b7fc8c2e34f7013b5bd539f6ce3e0df699e7c349..54a1f684e7224355218299d6f9df8e2dc5e95607 100644
--- a/db/src/main/java/top/limitart/db/ResultHandler.java
+++ b/db/src/main/java/top/limitart/db/QueryResult.java
@@ -18,6 +18,6 @@ package top.limitart.db;
import java.sql.ResultSet;
import java.sql.SQLException;
-public interface ResultHandler {
+public interface QueryResult {
T parse(ResultSet resultSet) throws SQLException;
}
diff --git a/db/src/main/java/top/limitart/db/SimpleDBHandler.java b/db/src/main/java/top/limitart/db/SimpleDBHelper.java
similarity index 93%
rename from db/src/main/java/top/limitart/db/SimpleDBHandler.java
rename to db/src/main/java/top/limitart/db/SimpleDBHelper.java
index c5dfe5c215fe7950140753d514d7e2ce75f32a57..d045446d5777467f9d3354d9cf0c34853f72c993 100644
--- a/db/src/main/java/top/limitart/db/SimpleDBHandler.java
+++ b/db/src/main/java/top/limitart/db/SimpleDBHelper.java
@@ -33,13 +33,13 @@ import java.util.List;
* @author hank
* @version 2018/4/14 0014 16:47
*/
-public class SimpleDBHandler implements DBHandler {
- private static Logger LOGGER = LoggerFactory.getLogger(SimpleDBHandler.class);
+public class SimpleDBHelper implements DBHelper {
+ private static Logger LOGGER = LoggerFactory.getLogger(SimpleDBHelper.class);
private static long SLOW_SQL = 100;
private final DataSource dataSource;
/** @param dataSource */
- public SimpleDBHandler(DBDataSource dataSource) {
+ public SimpleDBHelper(DBDataSource dataSource) {
this.dataSource = dataSource;
}
@@ -49,7 +49,7 @@ public class SimpleDBHandler implements DBHandler {
}
@Override
- public List selectList(Select select, ResultHandler handler) throws SQLException {
+ public List selectList(Select select, QueryResult handler) throws SQLException {
try (Connection con = connection();
PreparedStatement preparedStatement = select.withParams(con);
ResultSet resultSet = preparedStatement.executeQuery()) {
@@ -62,7 +62,7 @@ public class SimpleDBHandler implements DBHandler {
}
@Override
- public T selectOne(Select select, ResultHandler handler) throws SQLException {
+ public T selectOne(Select select, QueryResult handler) throws SQLException {
try (Connection con = connection();
PreparedStatement preparedStatement = select.withParams(con);
ResultSet resultSet = preparedStatement.executeQuery()) {
diff --git a/db/src/main/java/top/limitart/db/sql/Prepare.java b/db/src/main/java/top/limitart/db/sql/Prepare.java
index c0ff306297f948fac48c6b8cbb23d56cbeff7bf9..53fb2778a3af341ffa9cdcf2941fa7ed45291359 100644
--- a/db/src/main/java/top/limitart/db/sql/Prepare.java
+++ b/db/src/main/java/top/limitart/db/sql/Prepare.java
@@ -21,23 +21,8 @@ package top.limitart.db.sql;
* @author hank
* @version 2018/4/14 0014 16:47
*/
+@Deprecated
public interface Prepare {
- static void main(String[] args) {
- SQL insert = Prepare.insert().into("account").values("id", 1, "name", "hank");
- System.out.println(insert.sql());
- SQL delete = Prepare.delete().from("account").where(Where.create().whereEquals("id", 1));
- System.out.println(delete.sql());
- Update update =
- Prepare.update("account")
- .set("id", 1, "age", 10)
- .where(Where.create().whereEquals("name", "hank"));
- System.out.println(update.sql());
- Select select =
- Prepare.select("id", "age")
- .from("account")
- .where(Where.create().whereEquals("name", "hank"));
- System.out.println(select.sql());
- }
/**
* 开始编写插入语句
diff --git a/demo/pom.xml b/demo/pom.xml
index b46569b106f6327fc4e45f25edd61924dbc74693..78dd4f532c83efd5b1b843eee37523c4ddd76b35 100644
--- a/demo/pom.xml
+++ b/demo/pom.xml
@@ -5,7 +5,7 @@
top.limitart
limitart
- 3.1.0
+ 3.2.0-SNAPSHOT
4.0.0
@@ -38,6 +38,36 @@
limitart-hotdep
${project.version}
+
+ ${project.groupId}
+ limitart-fastmq-pipeline
+ ${project.version}
+
+
+ ${project.groupId}
+ limitart-fastmq-consumer
+ ${project.version}
+
+
+ ${project.groupId}
+ limitart-fastmq-provider
+ ${project.version}
+
+
+ ${project.groupId}
+ limitart-rpc-service-center
+ ${project.version}
+
+
+ ${project.groupId}
+ limitart-rpc-service-provider
+ ${project.version}
+
+
+ ${project.groupId}
+ limitart-rpc-service-consumer
+ ${project.version}
+
org.apache.logging.log4j
diff --git a/demo/script/top/limitart/script/HelloScriptImpl.java b/demo/script/top/limitart/demo/script/HelloScriptImpl.java
similarity index 87%
rename from demo/script/top/limitart/script/HelloScriptImpl.java
rename to demo/script/top/limitart/demo/script/HelloScriptImpl.java
index 3a50352dfe2fe6fc0bf9f206fa35ad99bc2fae0d..d2804e7a41c2122ef084f644c0ab28d3e1ce59af 100644
--- a/demo/script/top/limitart/script/HelloScriptImpl.java
+++ b/demo/script/top/limitart/demo/script/HelloScriptImpl.java
@@ -1,4 +1,4 @@
-package top.limitart.script;
+package top.limitart.demo.script;
public class HelloScriptImpl implements HelloScript {
@Override
diff --git a/demo/src/main/java/top/limitart/base/EnumBehaviorDemo.java b/demo/src/main/java/top/limitart/demo/base/EnumBehaviorDemo.java
similarity index 64%
rename from demo/src/main/java/top/limitart/base/EnumBehaviorDemo.java
rename to demo/src/main/java/top/limitart/demo/base/EnumBehaviorDemo.java
index f42b921779805124f630f86195f93c0aa9218ee9..7f66ca340d40ed7f426f0474064a0dbb7989cb2b 100644
--- a/demo/src/main/java/top/limitart/base/EnumBehaviorDemo.java
+++ b/demo/src/main/java/top/limitart/demo/base/EnumBehaviorDemo.java
@@ -1,4 +1,6 @@
-package top.limitart.base;
+package top.limitart.demo.base;
+
+import top.limitart.base.EnumBehavior;
/**
* @author hank
diff --git a/demo/src/main/java/top/limitart/collections/ConcurrentLRUCacheDemo.java b/demo/src/main/java/top/limitart/demo/collections/ConcurrentLRUCacheDemo.java
similarity index 93%
rename from demo/src/main/java/top/limitart/collections/ConcurrentLRUCacheDemo.java
rename to demo/src/main/java/top/limitart/demo/collections/ConcurrentLRUCacheDemo.java
index b313af62b1f5de3d8626849160910ff902f93478..6fe1922227768f9c8c15259195bf08226f3b9872 100644
--- a/demo/src/main/java/top/limitart/collections/ConcurrentLRUCacheDemo.java
+++ b/demo/src/main/java/top/limitart/demo/collections/ConcurrentLRUCacheDemo.java
@@ -1,8 +1,9 @@
-package top.limitart.collections;
+package top.limitart.demo.collections;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.atomic.AtomicInteger;
+import top.limitart.collections.ConcurrentLRUCache;
/**
* @author hank
diff --git a/demo/src/main/java/top/limitart/collections/RankMapDemo.java b/demo/src/main/java/top/limitart/demo/collections/RankMapDemo.java
similarity index 95%
rename from demo/src/main/java/top/limitart/collections/RankMapDemo.java
rename to demo/src/main/java/top/limitart/demo/collections/RankMapDemo.java
index 4db5211e6aa8584479e2f740d557cd009dc51c94..9b210cb205f7daa20c07e99fb08e3d8f21d8bd89 100644
--- a/demo/src/main/java/top/limitart/collections/RankMapDemo.java
+++ b/demo/src/main/java/top/limitart/demo/collections/RankMapDemo.java
@@ -1,8 +1,9 @@
-package top.limitart.collections;
+package top.limitart.demo.collections;
import top.limitart.base.CompareChain;
import java.util.Comparator;
+import top.limitart.collections.RankMap;
public class RankMapDemo {
private static final Comparator COMPARATOR =
diff --git a/demo/src/main/java/top/limitart/concurrent/TaskQueueCronDemo.java b/demo/src/main/java/top/limitart/demo/concurrent/TaskQueueCronDemo.java
similarity index 91%
rename from demo/src/main/java/top/limitart/concurrent/TaskQueueCronDemo.java
rename to demo/src/main/java/top/limitart/demo/concurrent/TaskQueueCronDemo.java
index 6dd71844e6771af76e9252c99ef4f8893548dbc4..0040b5afd27018e74f2df8f33f81bab459e1418a 100644
--- a/demo/src/main/java/top/limitart/concurrent/TaskQueueCronDemo.java
+++ b/demo/src/main/java/top/limitart/demo/concurrent/TaskQueueCronDemo.java
@@ -1,4 +1,4 @@
-package top.limitart.concurrent;
+package top.limitart.demo.concurrent;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -6,6 +6,8 @@ import org.slf4j.LoggerFactory;
import java.text.ParseException;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
+import top.limitart.concurrent.TaskQueue;
+import top.limitart.concurrent.TaskQueueGroup;
/**
* @author hank
diff --git a/demo/src/main/java/top/limitart/config/ConfigMetaDemo.java b/demo/src/main/java/top/limitart/demo/config/ConfigMetaDemo.java
similarity index 71%
rename from demo/src/main/java/top/limitart/config/ConfigMetaDemo.java
rename to demo/src/main/java/top/limitart/demo/config/ConfigMetaDemo.java
index cf0519efc227bd4a67310d069864ac98f07b291f..9a23cc1ecf644e5c3ebddfb6f7529d88196302a9 100644
--- a/demo/src/main/java/top/limitart/config/ConfigMetaDemo.java
+++ b/demo/src/main/java/top/limitart/demo/config/ConfigMetaDemo.java
@@ -1,4 +1,6 @@
-package top.limitart.config;
+package top.limitart.demo.config;
+
+import top.limitart.config.ConfigMeta;
/**
* @author hank
diff --git a/demo/src/main/java/top/limitart/config/D_ChipRank.java b/demo/src/main/java/top/limitart/demo/config/D_ChipRank.java
similarity index 93%
rename from demo/src/main/java/top/limitart/config/D_ChipRank.java
rename to demo/src/main/java/top/limitart/demo/config/D_ChipRank.java
index 0bdf3ed70f24c8c992e4c1f0998a3caf2aafe406..7ce7855cc4ef5947d3811ee145a05f75d772457c 100644
--- a/demo/src/main/java/top/limitart/config/D_ChipRank.java
+++ b/demo/src/main/java/top/limitart/demo/config/D_ChipRank.java
@@ -14,7 +14,9 @@
* limitations under the License.
*/
-package top.limitart.config;
+package top.limitart.demo.config;
+
+import top.limitart.config.ConfigMeta;
/**
* 最高奖金排行奖励 from dat_proto at 2018-12-24T14:33:18.841
diff --git a/demo/src/main/java/top/limitart/config/D_WinRank.java b/demo/src/main/java/top/limitart/demo/config/D_WinRank.java
similarity index 94%
rename from demo/src/main/java/top/limitart/config/D_WinRank.java
rename to demo/src/main/java/top/limitart/demo/config/D_WinRank.java
index 4bdbe133a680e48fe737fc38a559924f0f1f896d..3e051366d01a1b95799e2cbecf986796a032cc65 100644
--- a/demo/src/main/java/top/limitart/config/D_WinRank.java
+++ b/demo/src/main/java/top/limitart/demo/config/D_WinRank.java
@@ -14,7 +14,9 @@
* limitations under the License.
*/
-package top.limitart.config;
+package top.limitart.demo.config;
+
+import top.limitart.config.ConfigMeta;
/**
* 胜利场数排行奖励 from dat_proto at 2018-12-24T14:33:18.841
diff --git a/demo/src/main/java/top/limitart/config/DataTypeDemo.java b/demo/src/main/java/top/limitart/demo/config/DataTypeDemo.java
similarity index 92%
rename from demo/src/main/java/top/limitart/config/DataTypeDemo.java
rename to demo/src/main/java/top/limitart/demo/config/DataTypeDemo.java
index 6def3a20681449b17218aa7119150ac23905980c..5de8c6bd4fd0ff0fa037679cc05bb8450fdad41a 100644
--- a/demo/src/main/java/top/limitart/config/DataTypeDemo.java
+++ b/demo/src/main/java/top/limitart/demo/config/DataTypeDemo.java
@@ -16,8 +16,10 @@
*
*/
-package top.limitart.config;
+package top.limitart.demo.config;
+import top.limitart.config.IntArray2DType;
+import top.limitart.config.IntArrayType;
import top.limitart.json.JSON;
import top.limitart.util.CollectionUtil;
diff --git a/demo/src/main/java/top/limitart/config/ExcelModelDemo.java b/demo/src/main/java/top/limitart/demo/config/ExcelModelDemo.java
similarity index 83%
rename from demo/src/main/java/top/limitart/config/ExcelModelDemo.java
rename to demo/src/main/java/top/limitart/demo/config/ExcelModelDemo.java
index 7c5a9e5e5b0f53ac2a0471affdc111321393d260..07575cdf65f24147ae7eb60b013f5b332b7a975b 100644
--- a/demo/src/main/java/top/limitart/config/ExcelModelDemo.java
+++ b/demo/src/main/java/top/limitart/demo/config/ExcelModelDemo.java
@@ -1,7 +1,11 @@
-package top.limitart.config;
+package top.limitart.demo.config;
import java.util.Collections;
import java.util.Map;
+import top.limitart.config.ConfigContainers;
+import top.limitart.config.DataParser;
+import top.limitart.config.ExcelModel;
+import top.limitart.config.SheetHead;
/**
* @author hank
diff --git a/demo/src/main/java/top/limitart/config/Person.java b/demo/src/main/java/top/limitart/demo/config/Person.java
similarity index 97%
rename from demo/src/main/java/top/limitart/config/Person.java
rename to demo/src/main/java/top/limitart/demo/config/Person.java
index b9948afb0d8f53e801d4e223827889fa413cdd37..805b050a6a02d6b2e7c0b79a83448c7deae2f51b 100644
--- a/demo/src/main/java/top/limitart/config/Person.java
+++ b/demo/src/main/java/top/limitart/demo/config/Person.java
@@ -16,7 +16,7 @@
*
*/
-package top.limitart.config;
+package top.limitart.demo.config;
import top.limitart.base.BinaryMeta;
diff --git a/demo/src/main/java/top/limitart/config/PersonDataType.java b/demo/src/main/java/top/limitart/demo/config/PersonDataType.java
similarity index 94%
rename from demo/src/main/java/top/limitart/config/PersonDataType.java
rename to demo/src/main/java/top/limitart/demo/config/PersonDataType.java
index 6c9ea3721809965c9ed073decf3ee45743c72c4f..241b442262373004c79460bf03d93923a2e45159 100644
--- a/demo/src/main/java/top/limitart/config/PersonDataType.java
+++ b/demo/src/main/java/top/limitart/demo/config/PersonDataType.java
@@ -16,9 +16,10 @@
*
*/
-package top.limitart.config;
+package top.limitart.demo.config;
import top.limitart.base.BinaryMeta;
+import top.limitart.config.JSONParsingType;
/** Created by Hank on 2018/12/23 */
public class PersonDataType extends JSONParsingType {
diff --git a/demo/src/main/java/top/limitart/event/EventDemo.java b/demo/src/main/java/top/limitart/demo/event/EventDemo.java
similarity index 77%
rename from demo/src/main/java/top/limitart/event/EventDemo.java
rename to demo/src/main/java/top/limitart/demo/event/EventDemo.java
index 31090cb67cb02c3cdcf965391f6e810588aff144..34a0da1ae6affb06c3ced9adc1c06a83b01900f0 100644
--- a/demo/src/main/java/top/limitart/event/EventDemo.java
+++ b/demo/src/main/java/top/limitart/demo/event/EventDemo.java
@@ -1,4 +1,6 @@
-package top.limitart.event;
+package top.limitart.demo.event;
+
+import top.limitart.event.Event;
/**
* @author hank
diff --git a/demo/src/main/java/top/limitart/event/EventProviderDemo.java b/demo/src/main/java/top/limitart/demo/event/EventProviderDemo.java
similarity index 84%
rename from demo/src/main/java/top/limitart/event/EventProviderDemo.java
rename to demo/src/main/java/top/limitart/demo/event/EventProviderDemo.java
index 3f1d4e7456b695b269495c8e54ea7cf6078a43e1..48b2293e99623b5e198815939dde113880763e4c 100644
--- a/demo/src/main/java/top/limitart/event/EventProviderDemo.java
+++ b/demo/src/main/java/top/limitart/demo/event/EventProviderDemo.java
@@ -1,6 +1,9 @@
-package top.limitart.event;
+package top.limitart.demo.event;
import top.limitart.concurrent.TaskQueue;
+import top.limitart.event.AbstractEventProvider;
+import top.limitart.event.Event;
+import top.limitart.event.EventProvider;
/**
* @author hank
diff --git a/demo/src/main/java/top/limitart/demo/fastmq/PipelineConsumerDemo.java b/demo/src/main/java/top/limitart/demo/fastmq/PipelineConsumerDemo.java
new file mode 100644
index 0000000000000000000000000000000000000000..68dc040b8db221c36883718e9f038dc3313a29c5
--- /dev/null
+++ b/demo/src/main/java/top/limitart/demo/fastmq/PipelineConsumerDemo.java
@@ -0,0 +1,39 @@
+package top.limitart.demo.fastmq;
+
+import java.nio.charset.StandardCharsets;
+import java.util.LinkedList;
+import java.util.List;
+import top.limitart.fastmq.consumer.MQConsumerBinaryClient;
+
+public class PipelineConsumerDemo {
+
+ private static MQConsumerBinaryClient consumerClient;
+
+ static {
+ try {
+ List tags = new LinkedList<>();
+ tags.add("fuck");
+ tags.add("shit");
+ consumerClient =
+ new MQConsumerBinaryClient(
+ "127.0.0.1",
+ 9000,
+ "test_zone",
+ tags,
+ msg -> {System.out.println(new String(msg, StandardCharsets.UTF_8))
+ ;
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ });
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ public static void main(String[] args) throws Exception {
+ consumerClient.run(args);
+ }
+}
diff --git a/demo/src/main/java/top/limitart/demo/fastmq/PipelineProviderDemo.java b/demo/src/main/java/top/limitart/demo/fastmq/PipelineProviderDemo.java
new file mode 100644
index 0000000000000000000000000000000000000000..a56a811caf7a29818676c27418f637282ce2316f
--- /dev/null
+++ b/demo/src/main/java/top/limitart/demo/fastmq/PipelineProviderDemo.java
@@ -0,0 +1,35 @@
+package top.limitart.demo.fastmq;
+
+import java.nio.charset.StandardCharsets;
+import java.util.LinkedList;
+import java.util.List;
+import top.limitart.fastmq.provider.MQProviderBinaryClient;
+
+public class PipelineProviderDemo {
+
+ private static MQProviderBinaryClient providerClient;
+
+ static {
+ try {
+ List tags = new LinkedList<>();
+ tags.add("fuck");
+ tags.add("shit");
+ providerClient =
+ new MQProviderBinaryClient(
+ "127.0.0.1",
+ 9000);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ public static void main(String[] args) throws Exception {
+ providerClient.run(args);
+ int count = 0;
+ while (true) {
+ providerClient.sendMsg("test_zone", ("hello fastmq !" + count++)
+ .getBytes(StandardCharsets.UTF_8));
+ Thread.sleep(30);
+ }
+ }
+}
diff --git a/demo/src/main/java/top/limitart/demo/fastmq/PipelineServerDemo.java b/demo/src/main/java/top/limitart/demo/fastmq/PipelineServerDemo.java
new file mode 100644
index 0000000000000000000000000000000000000000..6e057d3e46709463046dabcc18684d0f47be832a
--- /dev/null
+++ b/demo/src/main/java/top/limitart/demo/fastmq/PipelineServerDemo.java
@@ -0,0 +1,22 @@
+package top.limitart.demo.fastmq;
+
+import top.limitart.fastmq.pipeline.MQPipelineBinaryServer;
+import top.limitart.fastmq.pipeline.core.Pipeline;
+
+public class PipelineServerDemo {
+
+ private static Pipeline pipeline = new Pipeline();
+ private static MQPipelineBinaryServer binaryServer;
+
+ static {
+ try {
+ binaryServer = new MQPipelineBinaryServer(pipeline, 9000);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ public static void main(String[] args) throws Exception {
+ binaryServer.run(args);
+ }
+}
diff --git a/demo/src/main/java/top/limitart/logging/LoggerDemo.java b/demo/src/main/java/top/limitart/demo/logging/LoggerDemo.java
similarity index 87%
rename from demo/src/main/java/top/limitart/logging/LoggerDemo.java
rename to demo/src/main/java/top/limitart/demo/logging/LoggerDemo.java
index 84da38bed28975b525cd7e934e50aa30a2b60a1f..d265c6809d25d2ab7f6b699326fb15a36fa5112e 100644
--- a/demo/src/main/java/top/limitart/logging/LoggerDemo.java
+++ b/demo/src/main/java/top/limitart/demo/logging/LoggerDemo.java
@@ -13,7 +13,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package top.limitart.logging;
+package top.limitart.demo.logging;
+
+import top.limitart.logging.Logger;
+import top.limitart.logging.Loggers;
public class LoggerDemo {
private static final Logger LOGGER = Loggers.create();
diff --git a/demo/src/main/java/top/limitart/mapping/RouterDemo.java b/demo/src/main/java/top/limitart/demo/mapping/RouterDemo.java
similarity index 88%
rename from demo/src/main/java/top/limitart/mapping/RouterDemo.java
rename to demo/src/main/java/top/limitart/demo/mapping/RouterDemo.java
index 46bb1ddca8581c76139214883f0019e929466b47..c771eb9d0be23263845271fdb5b4603dca4f7880 100644
--- a/demo/src/main/java/top/limitart/mapping/RouterDemo.java
+++ b/demo/src/main/java/top/limitart/demo/mapping/RouterDemo.java
@@ -1,4 +1,6 @@
-package top.limitart.mapping;
+package top.limitart.demo.mapping;
+
+import top.limitart.mapping.Router;
/**
* @author hank
diff --git a/demo/src/main/java/top/limitart/mapping/StringMapperClass.java b/demo/src/main/java/top/limitart/demo/mapping/StringMapperClass.java
similarity index 66%
rename from demo/src/main/java/top/limitart/mapping/StringMapperClass.java
rename to demo/src/main/java/top/limitart/demo/mapping/StringMapperClass.java
index 85845cc5c590ed89289bb223f67de62afc7dba8f..ff8fd7f4cd7bed2c9bd966331b6fbaa01d7ded96 100644
--- a/demo/src/main/java/top/limitart/mapping/StringMapperClass.java
+++ b/demo/src/main/java/top/limitart/demo/mapping/StringMapperClass.java
@@ -1,4 +1,7 @@
-package top.limitart.mapping;
+package top.limitart.demo.mapping;
+
+import top.limitart.mapping.Mapper;
+import top.limitart.mapping.Request;
/**
* @author hank
diff --git a/demo/src/main/java/top/limitart/mapping/StringPoster.java b/demo/src/main/java/top/limitart/demo/mapping/StringPoster.java
similarity index 71%
rename from demo/src/main/java/top/limitart/mapping/StringPoster.java
rename to demo/src/main/java/top/limitart/demo/mapping/StringPoster.java
index 068705faaed5980c990e64e5108c6e5576dbbf63..b7985fcef804480fea627b0c8b05dd9db18e9070 100644
--- a/demo/src/main/java/top/limitart/mapping/StringPoster.java
+++ b/demo/src/main/java/top/limitart/demo/mapping/StringPoster.java
@@ -1,4 +1,4 @@
-package top.limitart.mapping;
+package top.limitart.demo.mapping;
/**
* @author hank
diff --git a/demo/src/main/java/top/limitart/mapping/StringQuestParam.java b/demo/src/main/java/top/limitart/demo/mapping/StringQuestParam.java
similarity index 59%
rename from demo/src/main/java/top/limitart/mapping/StringQuestParam.java
rename to demo/src/main/java/top/limitart/demo/mapping/StringQuestParam.java
index 52cc8f3ef9c83e413e3199226b045c40230d2a50..85408cff3148b6faf0094e70954487aa035cfe1f 100644
--- a/demo/src/main/java/top/limitart/mapping/StringQuestParam.java
+++ b/demo/src/main/java/top/limitart/demo/mapping/StringQuestParam.java
@@ -1,4 +1,6 @@
-package top.limitart.mapping;
+package top.limitart.demo.mapping;
+
+import top.limitart.mapping.RequestContext;
/**
* @author hank
diff --git a/demo/src/main/java/top/limitart/mapping/StringRequest.java b/demo/src/main/java/top/limitart/demo/mapping/StringRequest.java
similarity index 86%
rename from demo/src/main/java/top/limitart/mapping/StringRequest.java
rename to demo/src/main/java/top/limitart/demo/mapping/StringRequest.java
index a6183e42987dd896d4850a630842002592e3ba71..33e662d248f2f2666299eee52fd32f76abb324d3 100644
--- a/demo/src/main/java/top/limitart/mapping/StringRequest.java
+++ b/demo/src/main/java/top/limitart/demo/mapping/StringRequest.java
@@ -1,4 +1,4 @@
-package top.limitart.mapping;
+package top.limitart.demo.mapping;
/**
* @author hank
diff --git a/demo/src/main/java/top/limitart/net/BinaryClientDemo.java b/demo/src/main/java/top/limitart/demo/net/BinaryClientDemo.java
similarity index 89%
rename from demo/src/main/java/top/limitart/net/BinaryClientDemo.java
rename to demo/src/main/java/top/limitart/demo/net/BinaryClientDemo.java
index 858ba6173c1e4f0fbb3ac8976072c896054dcdb6..14ff192ad72523455fe869fde03d69fd71cc4feb 100644
--- a/demo/src/main/java/top/limitart/net/BinaryClientDemo.java
+++ b/demo/src/main/java/top/limitart/demo/net/BinaryClientDemo.java
@@ -13,9 +13,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package top.limitart.net;
+package top.limitart.demo.net;
+import top.limitart.mapping.Mapper;
import top.limitart.mapping.Router;
+import top.limitart.net.AddressPair;
import top.limitart.net.binary.BinaryEndPoint;
import top.limitart.net.binary.BinaryMessage;
import top.limitart.net.binary.BinaryRequestParam;
@@ -26,7 +28,7 @@ public class BinaryClientDemo {
BinaryEndPoint.builder(false)
.router(
Router.empty(BinaryMessage.class, BinaryRequestParam.class)
- .registerMapperClass(MessageMapper.class))
+ .registerMapperClass(Mapper.class))
.onConnected(
(s, state) -> {
if (state) {
diff --git a/demo/src/main/java/top/limitart/net/BinaryMessageDemo.java b/demo/src/main/java/top/limitart/demo/net/BinaryMessageDemo.java
similarity index 96%
rename from demo/src/main/java/top/limitart/net/BinaryMessageDemo.java
rename to demo/src/main/java/top/limitart/demo/net/BinaryMessageDemo.java
index 698bec759884b8ae4971b7925ebf774b7c4b4791..3c022b236af0b2728d38a259b5b74f18dd4224ad 100644
--- a/demo/src/main/java/top/limitart/net/BinaryMessageDemo.java
+++ b/demo/src/main/java/top/limitart/demo/net/BinaryMessageDemo.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package top.limitart.net;
+package top.limitart.demo.net;
import top.limitart.net.binary.BinaryMessage;
import top.limitart.net.binary.BinaryMessages;
diff --git a/demo/src/main/java/top/limitart/net/BinaryMessageDemo2.java b/demo/src/main/java/top/limitart/demo/net/BinaryMessageDemo2.java
similarity index 96%
rename from demo/src/main/java/top/limitart/net/BinaryMessageDemo2.java
rename to demo/src/main/java/top/limitart/demo/net/BinaryMessageDemo2.java
index 729b93d37d5b0f456d311881d5a294668eaf2c8a..cd74b4ed05daad243d040feb5f5d0772724fae20 100644
--- a/demo/src/main/java/top/limitart/net/BinaryMessageDemo2.java
+++ b/demo/src/main/java/top/limitart/demo/net/BinaryMessageDemo2.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package top.limitart.net;
+package top.limitart.demo.net;
import top.limitart.net.binary.BinaryMessage;
import top.limitart.net.binary.BinaryMessages;
diff --git a/demo/src/main/java/top/limitart/net/BinaryScriptManager.java b/demo/src/main/java/top/limitart/demo/net/BinaryScriptManager.java
similarity index 96%
rename from demo/src/main/java/top/limitart/net/BinaryScriptManager.java
rename to demo/src/main/java/top/limitart/demo/net/BinaryScriptManager.java
index e265802d111dfb9017a1b5a33a2e3bbe0669c874..2d0273705e92e61e14953fe50e09c8066d5af63f 100644
--- a/demo/src/main/java/top/limitart/net/BinaryScriptManager.java
+++ b/demo/src/main/java/top/limitart/demo/net/BinaryScriptManager.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package top.limitart.net;
+package top.limitart.demo.net;
import top.limitart.mapping.Mapper;
import top.limitart.mapping.Request;
diff --git a/demo/src/main/java/top/limitart/net/BinaryScriptManagerImpl.java b/demo/src/main/java/top/limitart/demo/net/BinaryScriptManagerImpl.java
similarity index 96%
rename from demo/src/main/java/top/limitart/net/BinaryScriptManagerImpl.java
rename to demo/src/main/java/top/limitart/demo/net/BinaryScriptManagerImpl.java
index e2914f0755b7a6a7716ce54ec9cc1e16e47231d6..545e3e2fdd0ed59824593d8fdc143d2556e2874b 100644
--- a/demo/src/main/java/top/limitart/net/BinaryScriptManagerImpl.java
+++ b/demo/src/main/java/top/limitart/demo/net/BinaryScriptManagerImpl.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package top.limitart.net;
+package top.limitart.demo.net;
import top.limitart.net.binary.BinaryRequestParam;
diff --git a/demo/src/main/java/top/limitart/net/BinaryServerDemo.java b/demo/src/main/java/top/limitart/demo/net/BinaryServerDemo.java
similarity index 94%
rename from demo/src/main/java/top/limitart/net/BinaryServerDemo.java
rename to demo/src/main/java/top/limitart/demo/net/BinaryServerDemo.java
index 8731c00766e7158270fe67a03516081093f9d9fc..a8971814e9b445bad53d10b0d56328238e3f8dd6 100644
--- a/demo/src/main/java/top/limitart/net/BinaryServerDemo.java
+++ b/demo/src/main/java/top/limitart/demo/net/BinaryServerDemo.java
@@ -13,9 +13,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package top.limitart.net;
+package top.limitart.demo.net;
import top.limitart.mapping.Router;
+import top.limitart.net.AddressPair;
+import top.limitart.net.NettySession;
import top.limitart.net.binary.BinaryEndPoint;
import top.limitart.net.binary.BinaryMessage;
import top.limitart.net.binary.BinaryRequestParam;
diff --git a/demo/src/main/java/top/limitart/net/BinarySessionRole.java b/demo/src/main/java/top/limitart/demo/net/BinarySessionRole.java
similarity index 62%
rename from demo/src/main/java/top/limitart/net/BinarySessionRole.java
rename to demo/src/main/java/top/limitart/demo/net/BinarySessionRole.java
index 357d9fa2acaabec315cdf2916aa4b80fd8d57ec7..bea8b72c348505593544bfa6241dc5ed226e197d 100644
--- a/demo/src/main/java/top/limitart/net/BinarySessionRole.java
+++ b/demo/src/main/java/top/limitart/demo/net/BinarySessionRole.java
@@ -1,6 +1,7 @@
-package top.limitart.net;
+package top.limitart.demo.net;
+import top.limitart.net.NettySessionActor;
import top.limitart.net.binary.BinaryMessage;
public class BinarySessionRole extends NettySessionActor {}
diff --git a/demo/src/main/java/top/limitart/net/FlashSSLServerDemo.java b/demo/src/main/java/top/limitart/demo/net/FlashSSLServerDemo.java
similarity index 80%
rename from demo/src/main/java/top/limitart/net/FlashSSLServerDemo.java
rename to demo/src/main/java/top/limitart/demo/net/FlashSSLServerDemo.java
index 8e46688b0859df06d90340c98042ed2c25bc08e8..ac3c5cca76ea240c85231f222da5bfc77fbb0144 100644
--- a/demo/src/main/java/top/limitart/net/FlashSSLServerDemo.java
+++ b/demo/src/main/java/top/limitart/demo/net/FlashSSLServerDemo.java
@@ -1,5 +1,6 @@
-package top.limitart.net;
+package top.limitart.demo.net;
+import top.limitart.net.AddressPair;
import top.limitart.net.flashssl.FlashSSLEndPoint;
/**
diff --git a/demo/src/main/java/top/limitart/net/HTTPSServerDemo.java b/demo/src/main/java/top/limitart/demo/net/HTTPSServerDemo.java
similarity index 95%
rename from demo/src/main/java/top/limitart/net/HTTPSServerDemo.java
rename to demo/src/main/java/top/limitart/demo/net/HTTPSServerDemo.java
index a29cbc23925ebb3f40983cbfa4b977f3536c6b32..725de75caabd86259625557aa8f173cf567d2e09 100644
--- a/demo/src/main/java/top/limitart/net/HTTPSServerDemo.java
+++ b/demo/src/main/java/top/limitart/demo/net/HTTPSServerDemo.java
@@ -16,7 +16,7 @@
*
*/
-package top.limitart.net;
+package top.limitart.demo.net;
/** Created by Hank on 2018/10/14 */
public class HTTPSServerDemo {
diff --git a/demo/src/main/java/top/limitart/net/HTTPServerDemo.java b/demo/src/main/java/top/limitart/demo/net/HTTPServerDemo.java
similarity index 95%
rename from demo/src/main/java/top/limitart/net/HTTPServerDemo.java
rename to demo/src/main/java/top/limitart/demo/net/HTTPServerDemo.java
index 3703e8a18d763a96f763c268e94531430b30a788..793ec6dda37263b9cbe2f488215519087aeecf05 100644
--- a/demo/src/main/java/top/limitart/net/HTTPServerDemo.java
+++ b/demo/src/main/java/top/limitart/demo/net/HTTPServerDemo.java
@@ -16,8 +16,9 @@
*
*/
-package top.limitart.net;
+package top.limitart.demo.net;
+import top.limitart.net.AddressPair;
import top.limitart.net.http.HTTPEndPoint;
import java.nio.charset.StandardCharsets;
diff --git a/demo/src/main/java/top/limitart/net/LocalEndPointDemo.java b/demo/src/main/java/top/limitart/demo/net/LocalEndPointDemo.java
similarity index 87%
rename from demo/src/main/java/top/limitart/net/LocalEndPointDemo.java
rename to demo/src/main/java/top/limitart/demo/net/LocalEndPointDemo.java
index bb0e61b8806d66dd8894d39fd12cefc76bb4dcc9..4eeb21e21fc50f9ce3f3e1fed31aba3189ceb455 100644
--- a/demo/src/main/java/top/limitart/net/LocalEndPointDemo.java
+++ b/demo/src/main/java/top/limitart/demo/net/LocalEndPointDemo.java
@@ -1,6 +1,9 @@
-package top.limitart.net;
+package top.limitart.demo.net;
+import top.limitart.demo.net.BinaryMessageDemo;
import top.limitart.mapping.Router;
+import top.limitart.net.AddressPair;
+import top.limitart.net.NettyEndPointType;
import top.limitart.net.binary.BinaryEndPoint;
import top.limitart.net.binary.BinaryMessage;
import top.limitart.net.binary.BinaryRequestParam;
diff --git a/demo/src/main/java/top/limitart/net/MessageMapper.java b/demo/src/main/java/top/limitart/demo/net/MessageMapper.java
similarity index 93%
rename from demo/src/main/java/top/limitart/net/MessageMapper.java
rename to demo/src/main/java/top/limitart/demo/net/MessageMapper.java
index d1ebce6bccb464e60d9f025b368399c5b7ad5844..0629c610d69a65ff76c14fe9146269157699c03c 100644
--- a/demo/src/main/java/top/limitart/net/MessageMapper.java
+++ b/demo/src/main/java/top/limitart/demo/net/MessageMapper.java
@@ -16,12 +16,14 @@
*
*/
-package top.limitart.net;
+package top.limitart.demo.net;
import com.google.protobuf.Message;
import io.netty.channel.EventLoop;
+import top.limitart.demo.net.BinaryMessageDemo;
import top.limitart.mapping.Mapper;
import top.limitart.mapping.Request;
+import top.limitart.net.Session;
import top.limitart.net.binary.BinaryMessage;
import top.limitart.net.binary.BinaryRequestParam;
import top.limitart.net.protobuf.ProtobufRequestParam;
diff --git a/demo/src/main/java/top/limitart/net/MessagePackageTest.java b/demo/src/main/java/top/limitart/demo/net/MessagePackageTest.java
similarity index 98%
rename from demo/src/main/java/top/limitart/net/MessagePackageTest.java
rename to demo/src/main/java/top/limitart/demo/net/MessagePackageTest.java
index 80b3cf24da49ac655cc43b12a6997fa9e8cdd99a..a0c9e182547f22824cbfc316040a37e148d9e6e8 100644
--- a/demo/src/main/java/top/limitart/net/MessagePackageTest.java
+++ b/demo/src/main/java/top/limitart/demo/net/MessagePackageTest.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package top.limitart.net;
+package top.limitart.demo.net;
import top.limitart.base.BinaryMeta;
import top.limitart.net.binary.BinaryMessage;
diff --git a/demo/src/main/java/top/limitart/net/ProtobufClientDemo.java b/demo/src/main/java/top/limitart/demo/net/ProtobufClientDemo.java
similarity index 88%
rename from demo/src/main/java/top/limitart/net/ProtobufClientDemo.java
rename to demo/src/main/java/top/limitart/demo/net/ProtobufClientDemo.java
index 6c4f0b72acd168056a519a7747e2865593231d3a..4e149e1223733211f6fefcca2bd3bb805387c6fb 100644
--- a/demo/src/main/java/top/limitart/net/ProtobufClientDemo.java
+++ b/demo/src/main/java/top/limitart/demo/net/ProtobufClientDemo.java
@@ -1,7 +1,9 @@
-package top.limitart.net;
+package top.limitart.demo.net;
import com.google.protobuf.Message;
+import top.limitart.demo.net.MessageMapper;
import top.limitart.mapping.Router;
+import top.limitart.net.AddressPair;
import top.limitart.net.protobuf.ProtobufEndPoint;
import top.limitart.net.protobuf.ProtobufRequestParam;
diff --git a/demo/src/main/java/top/limitart/net/ProtobufMessageDemo.java b/demo/src/main/java/top/limitart/demo/net/ProtobufMessageDemo.java
similarity index 99%
rename from demo/src/main/java/top/limitart/net/ProtobufMessageDemo.java
rename to demo/src/main/java/top/limitart/demo/net/ProtobufMessageDemo.java
index 24a0a675d55ffe06268c74ecdaf363ea34d4dc94..7a08964a977e1d31ef513ce9c44e3ea6f4750642 100644
--- a/demo/src/main/java/top/limitart/net/ProtobufMessageDemo.java
+++ b/demo/src/main/java/top/limitart/demo/net/ProtobufMessageDemo.java
@@ -1,7 +1,7 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: protobuf3.proto
-package top.limitart.net;
+package top.limitart.demo.net;
public final class ProtobufMessageDemo {
private ProtobufMessageDemo() {}
diff --git a/demo/src/main/java/top/limitart/net/ProtobufServerDemo.java b/demo/src/main/java/top/limitart/demo/net/ProtobufServerDemo.java
similarity index 93%
rename from demo/src/main/java/top/limitart/net/ProtobufServerDemo.java
rename to demo/src/main/java/top/limitart/demo/net/ProtobufServerDemo.java
index b188f4ade444029609725a7a9885c1e0b064b4c6..4718c901b64261469744a9490a5f53656b4a5c92 100644
--- a/demo/src/main/java/top/limitart/net/ProtobufServerDemo.java
+++ b/demo/src/main/java/top/limitart/demo/net/ProtobufServerDemo.java
@@ -13,10 +13,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package top.limitart.net;
+package top.limitart.demo.net;
import com.google.protobuf.Message;
+import top.limitart.demo.net.MessageMapper;
import top.limitart.mapping.Router;
+import top.limitart.net.AddressPair;
import top.limitart.net.protobuf.ProtobufEndPoint;
import top.limitart.net.protobuf.ProtobufRequestParam;
diff --git a/demo/src/main/java/top/limitart/net/ProtobufSessionRole.java b/demo/src/main/java/top/limitart/demo/net/ProtobufSessionRole.java
similarity index 59%
rename from demo/src/main/java/top/limitart/net/ProtobufSessionRole.java
rename to demo/src/main/java/top/limitart/demo/net/ProtobufSessionRole.java
index 5735461d5df2ed05297a106cd3c7e8271f8f6ad0..9112703f9849eaf3578c4f67d469d3257f6edef9 100644
--- a/demo/src/main/java/top/limitart/net/ProtobufSessionRole.java
+++ b/demo/src/main/java/top/limitart/demo/net/ProtobufSessionRole.java
@@ -1,6 +1,7 @@
-package top.limitart.net;
+package top.limitart.demo.net;
import com.google.protobuf.Message;
+import top.limitart.net.NettySessionActor;
public class ProtobufSessionRole extends NettySessionActor {}
diff --git a/demo/src/main/java/top/limitart/net/WebSocketServerDemo.java b/demo/src/main/java/top/limitart/demo/net/WebSocketServerDemo.java
similarity index 85%
rename from demo/src/main/java/top/limitart/net/WebSocketServerDemo.java
rename to demo/src/main/java/top/limitart/demo/net/WebSocketServerDemo.java
index 72fc86fa210d77ea1a40525a7d56b76e4d974cc9..7d3a5aafc9e807411a10203a1f78832c80d985d0 100644
--- a/demo/src/main/java/top/limitart/net/WebSocketServerDemo.java
+++ b/demo/src/main/java/top/limitart/demo/net/WebSocketServerDemo.java
@@ -16,10 +16,14 @@
*
*/
-package top.limitart.net;
+package top.limitart.demo.net;
import io.netty.channel.EventLoop;
import io.netty.handler.codec.http.websocketx.WebSocketFrame;
+import top.limitart.net.AddressPair;
+import top.limitart.net.NettyEndPointType;
+import top.limitart.net.NettySession;
+import top.limitart.net.Session;
import top.limitart.net.binary.BinaryMessage;
import top.limitart.net.http.HTTPRequest;
import top.limitart.net.http.HTTPSession;
@@ -28,7 +32,7 @@ import top.limitart.net.websocket.WebSocketEndPoint;
/** Created by Hank on 2019/2/24 */
public class WebSocketServerDemo {
public static void main(String[] args) throws Exception {
- new WebSocketEndPoint("web-socket-server", "/",NettyEndPointType.SERVER_REMOTE, 0, 0) {
+ new WebSocketEndPoint("web-socket-server", "/", NettyEndPointType.SERVER_REMOTE, 0, 0) {
@Override
protected void exceptionThrown(NettySession