我正在尝试在 Heroku 上部署我的 Quarkus 应用程序。它工作正常,但我需要用固定值指定数据源参数。因为 Heroku 可能会旋转这些参数,所以这不是一个好主意。
在 Quarkus 中,我需要这 3 个参数application.properties:
quarkus.datasource.username
quarkus.datasource.password
quarkus.datasource.jdbc.url
Run Code Online (Sandbox Code Playgroud)
Heroku 只给了我 1 个环境变量 ( DATABASE_URL),它以下列方式定义了一个连接字符串:
postgres://user:pass@server:port/db-name
我知道我可以像这样使用环境变量:
quarkus.datasource.jdbc.url = jdbc:${DATABASE_URL}
但是我需要拆分变量以提取用户和密码并更改前缀(postgresql 而不是 postgres)。
有谁知道如何实现这一目标?
我的问题可能很容易解决,但目前我不明白。在我的 Quarkus-App 中,我有一个 REST-Endpoint,它应该调用一个方法,不等待结果并立即返回 202-HTTP-Statuscode。
@POST
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public Response calculateAsync(String input) {
process();
return Response.accepted().build();
}
Run Code Online (Sandbox Code Playgroud)
我已阅读有关 Vert.x 和异步处理的 Quarkus 文档。但要点是:处理是异步完成的,但客户端等待结果。我的客户不需要等待,因为没有返回值。这类似于批处理的调用。
所以我需要类似 a 的东西new Thread,但具有所有 Quarkus-Context。