当前位置: 首页 > 知识库问答 >
问题:

如何告诉Quarkus从随机自由端口开始?如何读取分配的端口号?

沈嘉瑞
2023-03-14

在Quarkus中,有没有一种方法可以告诉它从一个随机但免费的超文本传输协议端口开始,以及应用程序如何在内部读出这个端口号?这个问题在即将到来的命令模式支持(https://github.com/quarkusio/quarkus/pull/7681)的上下文中可能更有意义。实际上,我正在尝试编写一个基于Quarkus的UI应用程序。步骤应该是: 1.用一个免费的随机超文本传输协议端口启动Quarkus 2.读出端口号并打开一个浏览器窗口(在localhost下打开index.html:随机端口)

作为一种解决方法,我可以随机选择一个端口号(它可能是免费的,概率很高),将其设置为System属性以强制Quarkus使用它。

谢谢丹尼尔

共有2个答案

裴金鑫
2023-03-14

我会将服务放在一个容器中,然后您将使用-P

Dockerfile

FROM somejavaimage
EXPOSE 8080  # some port

COPY . /app  # copy some code
# TODO: Build some code

RUN ...   # some java process

CLI

docker build -t . quarkus_image
docker run --rm -P quarkus_image  # forwards a random port on host to container's 8080

尝试编写基于Quarkus的UI应用程序

为了提高可扩展性,我会在Quarkus中编写API,然后在单独的Web服务器容器中编写前端UI(如Nginx托管的Vuejs)

彭兴朝
2023-03-14

这非常简单:

  1. 只需将下一行放入应用程序属性:
quarkus.http.port=0
@ConfigProperty(name = "quarkus.http.port")
Integer assignedPort;
 类似资料:
  • 我已经安装了postgresql,在postgresql.conf中,我看到端口是5433而不是5432。现在,当我尝试通过psql连接到服务器时,出现错误为: psql:错误:无法连接到服务器:无法连接到服务器:连接被拒绝 (0x0000274D/10061) 无法连接到服务器:连接被拒绝 (0x0000274D/10061) 所以我能告诉命令连接到端口5433吗?

  • 现在的问题是,这个Eureka客户端使用应用程序属性中指定为9005的https端口注册自己: 但我希望该客户端使用http端口9010注册自己。 当然,Eureka服务器本身在上运行,所有其他注册的服务也在localhost上,只进行http通话。

  • 我希望我的 Quarkus 应用程序在默认端口以外的端口上运行。我怎样才能做到这一点?

  • 问题内容: 例如,下面的脚本从顶部开始: 另外请记住,应该能够停止脚本。 问题答案: 将其放入while循环中。我还建议您添加一个“睡眠”,这样就不会使计算机的CPU达到最快的速度:

  • 问题内容: 我想使用env文件中定义的端口号,可以吗?以下是我的docker-compose.yml的内容: 这是env_file.env的内容 但是出现了一些错误: 如果有可能,我应该怎么做?谢谢 @lvthillo,感谢您之前的回复。但是我还有另一个问题,就是我的烧瓶应用程序无法访问该端口。代码如下所示 因为flask应用程序需要使用与容器相同的端口运行。有什么办法可以在docker-comp

  • 问题内容: 我对读取和写入串行端口有些困惑。我在Linux中有一个使用FTDI USB串行设备转换器驱动程序的USB设备。当我插入它时,它将创建:/ dev / ttyUSB1。 我认为用C打开和读取它很简单。我知道波特率和奇偶校验信息,但是似乎没有标准吗? 我是否缺少某些东西,或者有人可以指出正确的方向? 问题答案: 您必须调用一个从获得。你不能零了,配置它,然后将用。如果使用归零方法,则会遇到