solon-aot
此插件,由社区成员(馒头虫/飘虫,读钓)贡献
<dependency>
<groupId>org.noear</groupId>
<artifactId>solon-aot</artifactId>
</dependency>
1、描述
基础扩展插件。是 Java Aot 的 Solon 增强形式。借用 solon 运行时容器收集信息,并生成 Aot 代理类(用于在原生运行时下替代 Asm 代理类)及各种原生元信信配置文件:
文件 | 说明 |
---|---|
"$$SolonAotProxy" class | 用于替代 Asm 的代理类 |
native-image.properties | 原生镜像编译参数配置 |
proxy-config.json | Jdk 代理接口申明配置 |
reflect-config.json | 反射申明配置 |
resource-config.json | 资源申明配置 |
serialization-config.json | 序列化类申明配置 |
solon-resource.json | Solon 资源申明配置 |
学习参考:Solon Native 开发
2、应用示例
生产项目往往依赖大量的第三方框架,要实现原生编译是个麻烦的事情。只是自动生成 Aot 代理类及各种原生元信信配置文件,仍然是不够的。还有无法自动触及的地方,需要项目定制。
"solon-aot" 的 RuntimeNativeRegistrar 接口,为项目定制提供了友好的接口。
例:
@Component
public class RuntimeNativeRegistrarImpl implements RuntimeNativeRegistrar {
@Override
public void register(AppContext context, RuntimeNativeMetadata metadata) {
metadata.registerResourceInclude("com.mysql.jdbc.LocalizedErrorMessages.properties");
}
}
更多使用,可以查看 RuntimeNativeMetadata 提供的各种接口。