Xinchuang preferred, domestic open source. Solon v2.4.0 released

What kind of open source project is Solon?

One, a new ecological application development framework for Java .it's built from scratch, has its own standard specification and open ecology (after five years, it has the second-level ecological scale in the world). Compared with other frameworks,It solves two important pain points: slow startup and memory consumption.

Key notes:

  • In January 2021, it will be officially open sourced to the outside world.
  • In July 2022, the official website will be established to promote
  • In February 2023, v2.0 was released. The official website adds Solon Initializr , which is used to generate project templates.
  • In April 2023, it will become a trusted open source community and trusted open source project of the Academy of Information and Communications Technology. Maven downloads exceeded 1 million in a single month. The number of code submissions exceeds 11,000 times
  • In June 2023, Maven's monthly downloads will exceed 2 million . The official website has over 500 pages of information.

Solve pain points?

Due to the unique design of the Solon Bean container,The startup will not be slow due to the increase in extension dependencies.(Save time and feel comfortable during development and debugging)! Take the well-known open source project "Xiaonuo" as an example:

As the saying goes: "Time is life, efficiency is money", "The only martial arts in the world that cannot be defeated is speed."

Compared with Spring Boot and Spring Cloud projects, what are the characteristics?

  • Startup is 5 to 10 times faster. (faster)
  • qps is 2 to 3 times higher. (higher)
  • Memory saving during runtime is 1/3 ~ 1/2. (less)
  • Packing can be reduced to 1/2 ~ 1/10; for example, 300Mb becomes 23Mb. (smaller)
  • Support jdk8, jdk11, jdk17, jdk20, graalvm native image at the same time

What is this update?

  • Added solon-openapi2-knife4j plug-in to replace solon-swagger2-knife4j
  • Add server.socket.ssl.* configuration
  • Add server.websocket.ssl.* configuration
  • Add Context::isSecure interface
  • Add ChainManager::defExecuteHandler interface
  • Add ChainManager's management of SessionStateFactory, and remove the original management method
  • Add @Header String[] xxx injection support
  • Added Converter system, generally used for universal conversion of basic types
  • Added log service incubation mechanism to complete format configuration before printing
  • Add support for ssl by solo.boot.socketd.netty plug-in
  • Add support for ssl by solo.boot.websocket.netty plug-in
  • Optimize RouterListener to cancel its own thread pool and use RunUtil instead
  • Optimized JsonConverter marked as deprecated and replaced by Converter
  • Optimize SocketChannelBase and mark it as deprecated, and will be replaced by ChannelBase.
  • Optimize the root path compatibility of ResourceUtil
  • Optimize the @Init annotation logic, which is only valid for the original instance. Keep the same strategy as LifecycleBean
  • Optimize the ws adaptation of solon.boot.smarthttp
  • Optimize the adaptation of nacos2-solon-cloud-plugin and unify the jackson version
  • Optimize the adaptation of nacos-solon-cloud-plugin and unify the jackson version
  • Optimize the LogUtil extension method and change it to a static extension method. The original manual method is marked as deprecated
  • Optimize the return type of Context::headerValues() to String[]
  • Optimize Context::paramValues() to unify server-related processing logic
  • Optimize the injection conversion mechanism of unified request parameters and entity fields, and add a custom conversion mechanism
  • Optimize the printing order of the kernel log, which is instantiated by SolonApp and then printed. so that the log format configuration is loaded first
  • Optimized when using http ssl, the service starts printing as https address
  • Optimize the parameter structure of ActionExecuteHandlerDefault::changeBody to facilitate the processing of different serialization schemes
  • Optimize the Nami encoder matching strategy and header synchronization strategy, especially when only a single encoded packet is introduced
  • Optimize the closing processing of AbstractRoutingDataSource
  • Optimize ShardingDataSource and add support for Closeable interface
  • Adjust the beetlsql-solon-plugin plugin, change the DbConnectionSource to public, and adjust the package structure
  • Fix the solon-swagger2-knife4j plug-in, the problem that the recursive data model will overflow the stack
  • Fix the solon-swagger2-knife4j plugin, the same path cannot display multiple methods
  • Fix solon-swagger2-knife4j plug-in, List<Demo>style parameter, can not build json example normally
  • Repair the solon-swagger2-knife4j plug-in, Page<Demo>, Result<Page<Demo>>and other complex nested temporary models, and the json example cannot be constructed normally
  • dbvisitor upgraded to 5.3.3
  • mybatis-flex upgraded to 1.5.1
  • sqltoy upgrade to 5.2.59
  • fastmybatis upgraded to 2.8.1
  • bean-searcher upgraded to 4.2.2
  • liteflow upgrade to 2.10.5
  • beetl upgraded to 3.15.7.RELEASE
  • beetlsql upgrade to 3.23.4-RELEASE
  • smarthttp upgraded to 1.2.8
  • fastjson2 upgraded to 2.0.35

Project warehouse address?

Guess you like

Origin blog.csdn.net/cwzb/article/details/131888013