后端砖头

Solon 1.6.36 发布,更现代感的应用开发框架

2022-04-13  本文已影响0人  草编椅

相对于 Spring Boot 和 Spring Cloud 的项目

关于 Solon

Solon 是一个更现代感的应用开发框架,轻量、开放生态型的。支持 Web、Data、Job、Remoting、Cloud 等任何开发场景。

目前有近130个生态插件,含盖了日常开发的各种需求。

本次主要更新


@Controller
public class DemoController{
    @Socket
    @Mapping("/hello")
    public String hello(Context ctx){
        if(ctx.session("user") == null){
            ctx.sessionSet("user", "noear");
        }
        
        return ctx.session("user");
    }
}
public class DemoApp {
    public static void main(String[] args) {
        Solon.start(DemoApp.class, args, app -> {
            app.listenBefore(new ListenerEmpty() {
                @Override
                public void onOpen(Session session) {
                    //修改ws的监听路径
                    if (session.path().startsWith("/xx/")) {
                        session.pathNew(session.path().substring(4));
                    }
                }
            });
        });
    }
}
@Slf4j
public class CloudJobInterceptorImpl implements CloudJobInterceptor {
    @Override
    public void doIntercept(Job job, CloudJobHandler handler) throws Throwable {
        long start = System.currentTimeMillis();
        try {
            handler.handle(job.getContext());
        } catch (Throwable e) {
            //记录带标签的日志
            TagsMDC.tag0("job");
            TagsMDC.tag1(job.getName());
            log.error("{}", e);
            
            throw e; //别吃掉
        } finally {
            //记录一个内部处理的花费时间
            long timespan = System.currentTimeMillis() - start;
            CloudClient.metric().addMeter(Solon.cfg().appName(), "job", timespan);
        }
    }
}
//CloudEventInterceptor 与 CloudJobInterceptor 起到类型的作用

进一步了解 Solon

项目地址

上一篇下一篇

猜你喜欢

热点阅读