Magician 1.1.16 发布,handler 配置改为注解式

来源: 投稿
2021-07-15

考虑到三方集成的方便性,所以将 handler的 配置 全部改成了注解式,只需要在类上加一个注解即可创建一个handler,让创建handler和创建服务 这两个步骤的耦合性降到了最低。

这样如果有三方项目集成了Magician,就不用为handler的增减 而发愁了。

更新后的使用方式如下

创建服务,指定一个扫描的范围即可

Magician.createTCPServer()
                    .scan("The package name of the handler")
                    .bind(8080);

创建Handler,加个注解即可,不需要去改动 创建服务的代码

@TCPHandler(path="/")
public class DemoHandler implements TCPBaseHandler<MagicianRequest> {

    @Override
    public void request(MagicianRequest magicianRequest) {
        // response data
        magicianRequest.getResponse()
                .sendJson(200, "{'status':'ok'}");
    }
}

增加websocket,只需要新建handler即可,一样不需要再去改动 创建服务的代码

@WebSocketHandler(path = "/websocket")
public class DemoSocketHandler implements WebSocketBaseHandler {
   
    @Override
    public void onOpen(WebSocketSession webSocketSession) {
     
    }
   
    @Override
    public void onClose(WebSocketSession webSocketSession) {
        
    }

    @Override
    public void onMessage(String message, WebSocketSession webSocketSession) {

    }
}

如果有三方项目集成了Magician,由于被集成的Magician 基本都会被二次封装,频繁改动这块代码不仅麻烦,还会有一定的隐患。现在改成了注解式 可以有效规避这个问题。

跟Magician一起升级的还有

Magician-Web组件,Martian组件。 这两个组件的升级点,主要是配合Magician的改动而改动。 而且给Martian带来了一个新特性:可以很方便的支持WebWocket了。

--------------------------------

Magician是一个异步非阻塞的网络编程包,支持TCP和UDP协议,内置了http和websocket解码器,使用方便简单。

TFB测试结果 达到了每秒可以完成15万次请求。

想了解更多可以关注官网:http://magician-io.com

展开阅读全文
4 收藏
分享
加载中
更多评论
0 评论
4 收藏
分享
返回顶部
顶部