簡體   English   中英

在 Cloud Foundry 中部署 stubby4j / Core java 應用程序

[英]Deploying stubby4j / Core java app in cloud foundry

我可能聽起來很愚蠢,我想我問的是一個不正確的設計問題,但只是想知道您的觀點。

我想從我的 CloudFoundry 應用程序之一啟動 jetty 容器,是否可以這樣做,我想答案是否定的,因為其他容器內的容器會出現這種情況,請幫忙。

真正的問題是什么:

我正在嘗試存根其他一些我將從我的雲代工廠應用程序調用的其他 api,為此我使用 Stubby4J,這是一個很好的 REST 模擬系統,可以啟動碼頭容器。 Jetty 不是從我的雲代工廠應用程序內部開始的,因為它需要一個端口等。

我想我需要改變我的方法並將我的 stubby4j 應用程序作為一個單獨的應用程序(作為 cloud foundry 中的核心 java 應用程序)運行,可以從任何 cloudfoundry 應用程序調用

請建議。

一點也不白痴,這是一個有效的問題。

我想從我的 CloudFoundry 應用程序之一啟動碼頭容器,是否可以這樣做,

對的,這是可能的。 有幾個選項。

1.) 最簡單的選擇是將 Jetty 嵌入到您的應用程序中,並將其部署為一個可執行的 JAR 文件。 CF 上的 Java 構建包將采用可執行 JAR 文件並簡單地運行它(即 java -jar )。

2.) 您可以 fork Java 構建包並添加對 Jetty 的支持。 通過這種方式,您可以部署 WAR 文件並讓構建包將其暫存到 Jetty 服務器上。

3.) 您可以使用非默認構建包。 我看到有一個碼頭BP可在這里

4.) 您可以派生和自定義 Java 構建包,甚至只是創建自己的構建包。 這最終將使您能夠最大程度地控制您的應用程序在 CF 上的部署方式。

Jetty 不是從我的雲代工廠應用程序內部開始的,因為它需要一個端口等。

當運行嵌入的 Jetty(或任何嵌入的東西)時,這是一個合法的問題。 使用 WAR 文件,Java BP 將確保應用程序已部署並偵聽正確的端口。 如果您嵌入服務器,則需要確保將其配置為偵聽正確的端口(即運行時環境中的 $PORT)。

我想我需要改變我的方法並將我的 stubby4j 應用程序作為一個單獨的應用程序(作為 cloud foundry 中的核心 java 應用程序)運行,可以從任何 cloudfoundry 應用程序調用

聽起來你已經在考慮上面的#1。

我不確定這是否仍然與 OP 相關,但可以在 Docker 容器中部署 stubby4j。 請參閱https://github.com/azagniotov/stubby4j#running-in-docker

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM