v1.1.0版本发布

5

一 新增功能

1 服务端

(1)基于注解的Netty服务端搭建方法;

package com.catalpawoo.easynetty.start.handler;

import com.catalpawoo.easynetty.common.utils.ObjectUtil;
import com.catalpawoo.easynetty.core.aop.*;
import io.netty.channel.*;
import io.netty.handler.codec.http.websocketx.TextWebSocketFrame;
import jakarta.annotation.PostConstruct;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

/**
 * 基于注解的Easy-Netty服务端测试
 *
 * @author wuzijing
 * @since 2024-06-22
 */
@Slf4j
@Component
@EnServer(path = "/socket", port = 8081)
public class EasyNettyAnnotationServer {

    @PostConstruct
    private void init() {
        log.error("easy-netty server initialization.");
    }

    @EnRead
    public void channelRead0(ChannelHandlerContext channelHandlerContext, TextWebSocketFrame textWebSocketFrame) {
        if (ObjectUtil.isNull(textWebSocketFrame)) {
            return;
        }
        log.info("easy-netty received message, content: {}.", textWebSocketFrame.text());
    }

    @EnAdd
    public void handlerAdded(ChannelHandlerContext channelHandlerContext) {
        log.info("easy-netty add a new connection.");
    }

    @EnEventTrigger
    public void userEventTriggered(ChannelHandlerContext channelHandlerContext, Object event) {
        log.info("easy-netty event trigger: {}", event);
    }

    @EnRemove
    public void handlerRemoved(ChannelHandlerContext channelHandlerContext) {
        log.info("easy-netty remove a connection.");
    }

}

(2)其他通用方法。

二 修复功能

(1)基于构造器的Netty服务端搭建方法;

// 构造器构建
EasyNettyServerCreator buildCreator = new EasyNettyServerBuilder()
        .setPort(8083)
        .setPath("/socket")
        .setBossThreadNum(1)
        .setHandler(new EasyNettyServerBaseHandler())
        .build();
// 维护到帮助类中
easyNettyHelper.putServer(buildCreator);

(2)优化一些命名与归类;
(3)JDK产物版本控制为17。

三 引入

<dependency>
    <groupId>io.github.catalpawoo524</groupId>
    <artifactId>easy-netty-spring-boot3-starter</artifactId>
    <version>1.1.0</version>
</dependency>

四 即将实现

1 基于Yaml配置、代码配置以及注解的客户端搭建方法;

2 扩展JDK8与SpringBoot2.0的支持。