请先关注 [低调大师] 公众号 优秀的自媒体个人博客,低调大师,许军

低调大师

您现在的位置是:首页>文章详情

文章详情

Redkale 2.5.0 发布,Java 分布式微服务框架

2021-10-19 27热度

Redkale 2.5.0 发布。

Redkale, 一个Java分布式微服务框架,1.4M的jar可以代替传统几十M的第三方。包含TCP/UDP、HTTP、RPC、依赖注入、序列化与反序列化、数据库操作、WebSocket等功能。  一方面模块高度整合,极大的简化业务开发代码,一方面暴露大量底层,方便二次框架开发。  

Java并不臃肿, 臃肿的是你自己的设计思维!

本次版本更新内容:

 1、【新增】支持Graalvm的native-image原生打包
 2、【新增】apidoc生成OpenAPI 3.0规范json文件
 3、【新增】net包支持TLS,且支持最新版TLSv1.3
 4、【新增】增加@bean类,DataSource增加对所有entity参数是否有标记@entity的判断
 5、【新增】增加PrepareCompiler 需结合redkale-maven-plugin插件使用
 6、【新增】RedkaleClassLoader增加putDynXXX系列方法,增加Mpsc相关并发容器类
 7、【优化】【不兼容】移除JDK8的支持, 最低版本升级为JDK11
 8、【优化】【不兼容】废弃RetResult.attach属性
 9、【优化】【不兼容】移除ResourceFactory.root(),增加ResourceFactory.create()
10、【优化】工程改成maven构建方式
11、【优化】RestMapping.name默认值不再去掉Service的服务名
12、【优化】Server.createContext()去掉参数,并从Server.start移至Server.init方法中调用
13、【优化】增加XmlReader,移除java.xml的依赖
14、【优化】convert支持java.lang.Record类
15、【优化】移除AsyncConnection的newInputStream
16、【修复】修复没mq配置下HttpMessageLocalClient无法正常使用的bug
17、【修复】修复HttpSimpleRequest复制给HttpRequest.requestURI没有加上path前缀
18、【修复】修复RESNAME_APP_CONF没有依赖注入的bug

原生打包:

 需要安装Graalvm,在工程pom.xml 加入: 

 <plugin> <groupId>org.redkale.maven.plugins</groupId> <artifactId>redkale-maven-plugin</artifactId> <version>1.0.0</version> <configuration> <nativeimageArgs> <arg>--allow-incomplete-classpath</arg> <arg>--no-fallback</arg> </nativeimageArgs> </configuration> <executions> <execution> <id>redkale-compile</id> <phase>process-classes</phase> <goals> <goal>compile</goal> </goals> </execution> </executions> </plugin>

  编译完工程后执行:

 native-image -H:+ReportExceptionStackTraces --report-unsupported-elements-at-runtime -jar redkale-benchmark.jar

即可得到可运行文件  redkale-benchmark  

由于redkale的零依赖, 原生打包后的文件大小远小于其他可原生打包的框架, 使用依赖官方plugins进行redis、mysql/postgresql等常规功能,打包后的大小依然不大, 如果SpringBoot工程加入redis、mysql等第三方后使用尚未成熟的Spring Native进行打包, 包体会非常大。

详情工程可参考: https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/Java/redkale/redkale-native.dockerfile

OpenAPI文档:

编译完工程并启动后执行 bin/apidoc.sh 会在工程目录下生成符合OpenAPI 3.0.0规范的openapi-doc.json 离线文件。

将json文件放进swagger-ui即可展现文档。

收藏 (0)

相关文章

    文章评论

    共有0条评论来说两句吧...