Apache Daffodil 新...
尝试使用 Apache Daffodil 消息解析应用程序来节省启动时间。
只是想知道是否有可能(或可行)预编译一个 Apache Daffodil“DataProcessor”对象(当然,使用指定的模式) - 然后将其用作使用 Daffodil 解析的单独应用程序的构建依赖项。
---即,与在运行时等待模式编译相比
DataProcessor
Daffodil API 确实提供了通过DataProcessor#save
和方法序列化和反序列化 a的Compiler#reload
方法。
例如,要将 DataProcessor 保存到文件中:
DataProcessor dp = ...;
FileChannel fc = FileChannel.open(filePath);
dp.save(fc);
将该文件重新加载到数据处理器:
FileChannel fc = FileChannel.open(filePath);
DataProcessor dp = Compiler.reload(fc);
该示例用于使用文件,但 API 支持保存到 anyWritableByteChannel
并从 any 重新加载ReadableByteChannel
。
我知道没有任何现有的 Maven/Gradle 插件可以自动执行此操作,但是可以将编译/保存放在资源生成器中,然后在运行时调用 reload 以加载资源。