[英]Run jar file with node js on Microsoft Azure
我制作了一个Node js Web应用程序来生成报告。 我的想法是使用.jasper文件(jasper报告)生成这些报告。 我已经尝试了一堆node js库来执行此操作,但是似乎没有任何效果。 最后,我继续制作一个.jar文件(java)来解决这个问题。 流程如下:
它可以在我的计算机上完美运行。 然后,将其上传到Microsoft Azure。 似乎运行.jar文件步骤失败,因为没有创建pdf文件。 谁能帮助我或提出更好的方法呢?
我怀疑您的Java PDF生成调用了受App Service沙箱限制的API。 大多数PDF呈现引擎都使用GDI +,该功能具有受Azure App Service沙箱限制的大多数功能。 但是,在专用服务器上放宽了此策略。 扩展到专用服务器应该可以解决此问题(即不是共享或免费SKU)。
如果将NodeJS Webapp部署到MS Azure WebApp中,则该过程的步骤2无法生成用于运行jar可运行文件的子进程,因为Java运行时环境不将当前的Azure WebApp包含在NodeJS中。
建议使用以下三种方法:
使用Azure VM安装NodeJS和Java,并像在本地计算机上一样在VM上部署您的应用程序。 这是简单的方法。
我搜索了一个名为jsreport
开源报告软件。 它可以安装在MS Azure VM或Cloud Service上。 您可以参考Microsoft Azure上的下载页面“使用节点js运行jar文件”进行安装。 还有NodeJS的jsreport sdk http://jsreport.net/learn/nodejs 。 如果要在Azure云服务上使用jsreport
,则需要知道如何在Azure云服务上构建NodeJS应用https://azure.microsoft.com/zh-cn/documentation/articles/cloud-services-nodejs-develop- deploy-express-app / 。
改变你的过程。 NodeJS从用户那里获取请求,并以指定的文件名和路径将其发送到ServiceBus; 修改为Azure WebJob的jar可运行文件从ServiceBus读取请求,并生成具有给定文件名的pdf,并将其保存到Azure Blob存储上的给定文件路径; NodeJS从Blob存储直接将pdf文件返回给用户。
对于Azure WebJob和Service Bus,可以参考https://azure.microsoft.com/zh-cn/documentation/articles/web-sites-create-web-jobs/和https://azure.microsoft.com/ zh-CN / documentation / articles / service-bus-nodejs-how-to-use-queues / 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.