[英]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.