我可能听起来很愚蠢,我猜我问的是一个错误的设计问题,但我只是想知道你的观点。
我想从我的一个CloudFoundry应用程序启动jetty容器,是否可以这样做,我猜答案是否定的,因为它将容器内的其他容器的情况,请帮助。
真正的问题是什么:
我正在尝试存根一些其他rest api,我将从我的云铸造应用程序中调用这些api,为此,我使用了Stubby4J,这是一个启动jetty容器的很好的REST模拟系统。Jetty不是从我的云铸造应用程序内部开始的,因为它需要一个端口等。
我想我需要改变我的方法,将我的stubby4j应用程序作为一个单独的应用程序(作为cloud foundry中的一个核心java应用程序)运行,它可以从任何cloudfoundry应用程序调用
请提个建议。
发布于 2015-03-17 23:51:43
一点也不愚蠢,这是一个合理的问题。
我想从我的一个CloudFoundry应用程序启动
容器,可以这样做吗?
是的,这是可能的。这里有几个选项。
1.)最简单的选择是将Jetty嵌入到您的应用程序中,并将其部署为可执行的JAR文件。CF上的Java build pack将获取可执行的JAR文件并简单地运行它(即java -jar )。
2.)您可以派生Java构建包并添加对Jetty的支持。通过这种方式,您可以部署一个WAR文件,并让构建包将其暂存到Jetty服务器上。
3.)您可以使用非默认构建包。我看到有一个Jetty BP可用的here。
4.)您可以派生和定制Java构建包,甚至只创建您自己的构建包。这最终将使您能够最大程度地控制如何在CF上部署您的应用程序。
Jetty不是从我的云铸造应用程序内部开始的,因为它需要一个端口等。
当运行Jetty embedded (或者实际上是任何嵌入式的东西)时,这是一个合法的问题。使用WAR文件,Java BP将确保应用程序已部署并在正确的端口上侦听。如果你嵌入了一个服务器,你需要确保它被配置为侦听正确的端口(即来自运行时环境的$PORT )。
我想我需要改变我的方法,将我的stubby4j应用程序作为一个单独的应用程序(作为cloud foundry中的核心java应用程序)运行,可以从任何cloudfoundry应用程序调用
听起来你已经在想上面的第一个问题了。
发布于 2021-03-02 07:55:33
我不确定这是否仍然与OP相关,但可以在Docker容器中部署stubby4j。请参阅https://github.com/azagniotov/stubby4j#running-in-docker
https://stackoverflow.com/questions/29017181
复制相似问题