我有一个基于 linux 的 nodejs Web 应用程序,我需要从中生成报告,为此我选择了 Pentaho。
我已经安装了 biserver-ce (5.4),它可以工作,但是这是一个矫枉过正,因为它使用 tomcat,这是一个庞然大物,并且使用大量的 CPU 和内存(1.5GB+),我没有很多,此外,我不需要任何用户控制台、用户管理或安全性等或 biserver 提供的任何其他功能。
目前,请求由 nodejs 后端发送到 biserver:8080,然后使用 nodejs 将生成的 pdf 报告通过管道传输到客户端的前端浏览器。
据我所知,tomcat 只是简单地转换一个 http 请求并返回呈现的 pdf,并且由于我已经有一个带有 nodejs 的 Web 服务器,这似乎有点多余,我想完全绕过 tomcat。
所以我希望消除 tomcat 并让服务器监听套接字或简单地通过命令行发送报告参数,但在过去半天用谷歌搜索,我仍然无法找到明确的答案或我如何在不使用 tomcat 的情况下生成 pentaho 报告的示例。
这可以做到吗?我有很好的 javascript 技能,但 java 编程能力为零,我可以只使用生成报告的 biserver 部分并完全消除 tomcat 吗?
我已将编译问题移至另一个线程。
最佳答案
似乎至少可以将报告引擎嵌入到独立的 Java 应用程序中。这确实需要您具备一些有关 Java 和 Pentaho SDK 的知识,但它可能是您唯一的非 Tomcat 选项。有一个完整的示例 Java 项目 here这向您展示了如何完成此操作(代码主要在 Sample1.java 中)。
关于java - 使用 NODEJS 和不使用 TOMCAT 的 Pentaho 报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38682622/