Magician 1.1.16 发布,handler 配置改为注解式
考虑到三方集成的方便性,所以将 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
