2015-11-05 28 views
5

我是亞馬遜網絡服務的新手,並且最近繼承了很多現有服務。亞馬遜Elastic Beanstalk Java如何獲得Oracle JDK

我一直迫切需要的一件事是我們的Amazon Elastic Beanstalk實例使用Sun的Oracle JDK而不是openJDK。

由於我使用Sun的Oracle JDK進行java開發,因此這種不一致性使我的java功能無法按預期工作。我們的遺留代碼基於JDK7。

例如,JPEG編解碼器在openJDK中不存在,而javascript Rhino引擎不支持JSON.stringify函數。我已經對這些做了解決方法,但這只是避免了一個更大的問題,那就是我不知道openJDK不支持什麼,並且Oracle JDK似乎支持所有事情。

根據以前的所有者,我建議不要創建自己的「AMI」,因爲那樣我就不得不自己照顧所有的內部資源。我被告知這樣做會擊敗Elastic Beanstalk的目的,據說爲我們處理所有事情。

我似乎無法找到一個直接的答案。我不想離開Elastic Beanstalk生態系統。我假設亞馬遜的EC2是一個完全不同的生態系統,我必須自己管理所有服務器的內部。

我只想知道,截至目前爲止,是否有可能爲Tomcat7使用Oracle JDK提供Elastic Beanstalk實例?

我希望它只是一個簡單的配置改變,在網站上的某個地方。

如果可能,您可以請提供說明如何操作?

回答

2

您可以安裝您首選的JDK並將java linux鏈接更改爲它,因此它將成爲默認的一個。 由於EB實例是由EB自動創建和銷燬的,因此您需要包含一個小腳本,該腳本指示EB在決定啓動新的Web實例時進行必要的java更改。
現在要做到這一點,您需要編寫一個conf文件並將其放在.ebextensions文件夾中。在該文件中,您手動安裝java並將其替換爲當前的文件。

有關eb配置文件的正式(累人)文檔是here
讓你快速啓動,運行速度很快,check out this gist