2016-07-31 46 views
0

我有一个基于Linux的nodejs Web应用程序,我需要生成报告和我选择Pentaho为此。Pentaho报告与NODEJS和没有TOMCAT

我已经安装了bierver-ce(5.4),但是这是一个矫枉过正的事情,因为它使用的是tomcat,它是一个庞然大物,并且使用了大量的CPU和内存(1.5GB +),而我没有太多,而且我不需要任何用户控制台,用户管理或安全等等或biserver提供的任何其他功能。

当前请求通过nodejs后端发送到biserver:8080,然后生成的pdf报告使用nodejs传送到客户端的前端浏览器。

据我所知,tomcat只是简单地转换一个http请求并返回呈现的pdf,由于我已经有了一个带有nodejs的web服务器,这似乎有点多余,我想完全绕过tomcat。

所以我期待消除tomcat,或者有一个服务器在套接字上侦听,或者只是通过命令行发送报告参数,但是在过去的半天中使用了这个参数,我仍然无法找到明确的答案或者如何在不使用tomcat的情况下生成pentaho报告的例子。

可以这样做吗?我有良好的JavaScript技能,但没有Java编程能力,我可以只使用生成报告的biserver部分并完全取消tomcat吗?

我已将编译问题移至其他线程。

回答

0

至少可以将报表引擎嵌入到独立的Java应用程序中。这确实需要您具备Java和Pentaho SDK的一些知识,但它可能是您唯一的非Tomcat选项。有一个完整的示例Java项目here,向您展示了如何完成此任务(代码主要在Sample1.java)。

+0

感谢您的帮助,我已经尝试编译上述更新但它失败了3错误 - 任何想法? – crankshaft

+0

您是否编译过AbstractReportGenerator.java,并将您的'CLASSPATH'环境变量设置为包含AbstractReportGenerator.class所在的目录? – mscdex

+0

谢谢,是的,已经编译到与Sample1.java文件相同的文件夹并导出路径“export CLASSPATH =/Users/xxx/java-dev/pentaho:/ Users/xxx/java-dev/pentaho/lib”,但它没有区别,错误是相同的 – crankshaft