【问题标题】:Deploying stubby4j / Core java app in cloud foundry在 Cloud Foundry 中部署 stubby4j / Core java 应用程序
【发布时间】:2015-03-12 18:07:33
【问题描述】:

我可能听起来很愚蠢,我想我问的是一个不正确的设计问题,但只是想知道你的观点。

我想从我的 CloudFoundry 应用程序之一启动码头容器,是否可以这样做,我想答案是否定的,因为它将是其他容器内的容器的情况,请帮助。

真正的问题是什么:

我正在尝试对我将从我的一个云铸造应用程序调用的其他一些 api 进行存根,为此我正在使用Stubby4J,这是一个很好的 REST 模拟系统,可以启动码头容器。 Jetty 不是从我的 Cloud Foundry 应用程序内部开始的,因为它需要一个端口等。

我想我需要改变我的方法并将我的 stubby4j 应用程序作为一个单独的应用程序(作为 cloud Foundry 中的核心 java 应用程序)运行,它可以从任何 cloudfoundry 应用程序调用

请提出建议。

【问题讨论】:

    标签: cloud-foundry stubby4j


    【解决方案1】:

    一点也不白痴,这是一个有效的问题。

    我想从我的 CloudFoundry 应用程序之一启动码头容器,是否可以这样做,

    是的,这是可能的。有几个选项。

    1.) 最简单的选择是将 Jetty 嵌入到您的应用程序中并将其部署为可执行 JAR 文件。 CF 上的 Java 构建包将获取可执行的 JAR 文件并简单地运行它(即 java -jar )。

    2.) 您可以分叉 Java 构建包并添加对 Jetty 的支持。通过这种方式,您可以部署 WAR 文件并让构建包将其暂存到 Jetty 服务器上。

    3.) 您可以使用非默认构建包。我看到有一个 Jetty BP here

    4.) 您可以分叉和自定义 Java 构建包,甚至只是创建自己的构建包。这最终将使您能够最大程度地控制您的应用程序在 CF 上的部署方式。

    Jetty 不是从我的 Cloud Foundry 应用程序内部开始的,因为它需要端口等。

    当运行 Jetty 嵌入式(或任何嵌入式)时,这是一个合法的问题。使用 WAR 文件,Java BP 将确保应用程序已部署并侦听正确的端口。如果您嵌入了服务器,则需要确保将其配置为侦听正确的端口(即运行时环境中的 $PORT)。

    我想我需要改变我的方法并将我的 stubby4j 应用程序作为一个单独的应用程序(作为 cloud Foundry 中的核心 java 应用程序)运行,它可以从任何 cloudfoundry 应用程序调用

    听起来你已经在考虑上面的#1了。

    【讨论】:

      【解决方案2】:

      我不确定这是否仍然与 OP 相关,但可以在 Docker 容器中部署 stubby4j。查看https://stubby4j.com/#running-in-docker 并查看托管在https://hub.docker.com/r/azagniotov/stubby4j 上的官方 stubby4j Docker 映像

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多