java - 如何从java访问CUPS变量?

标签 java spring-boot cloud-foundry

我正在尝试访问 Cloud Foundry 中 CUPS 中的变量。目前我将我的值设置为环境变量。

在java中,我使用以下代码来检索环境变量。

String variableName = System.getenv("variableName");

我正在关注这个link它讨论了创建用户提供的服务并从那里检索数据。

示例

cfenv = require("cfenv")

var localVCAP = require("./local-vcap.json")

var appEnv = cfenv.getAppEnv({vcap: localVCAP})
var creds  = appEnv.getServiceCreds(/session-secret/) || {}

console.log("session secret is:", creds.secret)

我怎样才能在java中做类似的事情? “如何将 Cloud Foundry CUPS 变量检索到 Java 中?”

最佳答案

创建后,用户提供的服务实例的行为就像仅通过市场创建的服务实例一样。默认情况下,绑定(bind)到应用程序的所有服务都在环境变量 VAP_SERVICES 中可用。

将 CUPS 服务绑定(bind)到您的应用程序,然后读取 Java 代码中的 VCAP_SERVICES 系统属性。

String vcapServices = System.getenv("VCAP_SERVICES");

该值是一个 JSON,其中包含所有绑定(bind)服务相关信息。您可以解析此 JSON 以读取您的 CUPS 服务属性。 示例变量看起来像

{
    "VCAP_SERVICES": {
        "user-provided": [
            {
                "sec": {
                    "key": "1234567890"
                },
                "label": "user-provided",
                "name": "sample-cups-secret",
                "syslog_drain_url": "",
                "tags": []
            }
        ]
    }

关于java - 如何从java访问CUPS变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43722082/

相关文章:

java - @SequenceGenerator 在用@MappedSuperclass 注释的类上

eclipse - 如何在 Eclipse STS 中打开 Spring Boot 示例

java - Spring Boot-2.1.3 : Parallel Methods Invocation with @Async with CompletableFuture

java - 推送到关键时无法与端口 8080 建立 TCP 连接

java - 无法在 Cloud Foundry 中使用 Spring Cloud 连接器设置连接属性

java - 如何将 IPv6 地址转换为二进制字符串?

00天/月的Java日期格式

ruby-on-rails - AppFog 找不到名为 'default' 的 session 的配置

java - Java 中从 char 到 short 的类型转换

java - 通过(伪)直接调用该处理程序方法来测试 Spring Controller - 好还是坏?如何实现?