2017-08-30 105 views
0

我想知道是否有可能在Heroku中從web java應用程序中運行非web java應用程序?基本上,我想執行一個命令來運行非web應用程序的jar:在Heroku中運行第二個非web java應用程序

調用像這樣在Heroku的一點關的過程:

Process proc = Runtime.getRuntime().exec("java -jar A.jar"); 

回答

0

你可能不想執行由新工藝現有的Java進程。相反,你應該建立在你的應用程序的Procfile一個新的流程類型,像這樣:

web: java -jar webapp-runner.jar yourapp.war 
worker: java -jar A.jar 

然後你可以從CLI heroku run worker運行工作進程,也可以使一個HTTP調用Heroku API

我假設您使用的是heroku war:deploy,這意味着您目前可能沒有Procfile。您可能需要切換到heroku jar:deployinclude webapp-runner in your app manually

+0

你知道你是否能夠將論據傳遞給作品?像在命令行中執行jar時傳遞參數一樣? –

+0

如果您想要自定義命令,您可以運行'heroku run「java -jar A.jar - 選擇一個」'。 – codefinger

相關問題