如何解决如何控制从Asciidoc到HTML的转换
我负责在桌面应用程序中将文档从Asciidoc格式转换为HTML格式。我使用AsciidoctorJ Java-wrapper库,如下所示:
Asciidoctor asciidoctor = Asciidoctor.Factory.create();
Options html = OptionsBuilder.options().
backend("html").
get();
asciidoctor.convertFile(
new File("test.asciidoc"),html);
我想提供取消转换的功能,例如,当用户单击应用程序UI上的“取消”按钮时,转换应停止。为了使UI保持响应状态,我在单独的线程中运行了上述片段。
据我所知in Java thread can be stopped only in cooperative way。不推荐使用Thread.stop()
之类的方法。而且AsciidoctorJ似乎没有提供取消转换的功能。因此,org.asciidoctor.Asciidoctor.convertFile()
(以及其他方法)不会返回一种可用于控制转换的处理程序。只有一种方法或多或少适合:org.asciidoctor.Asciidoctor.shutdown()
。
方法声明的文档:
此方法释放asciidoctorJ模块消耗的所有资源。请记住,如果调用此方法,实例将变得不可用,您应该创建另一个实例。
恐怕关闭整个AsciidoctorJ不好。
有更好的解决方案吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。