【问题标题】:How to create a user provided redis service which spring auto configuration cloud connectors picks?如何创建弹簧自动配置云连接器选择的用户提供的redis服务?
【发布时间】:2016-05-06 01:26:03
【问题描述】:

我已经为 redis 创建了一个用户提供的服务,如下所示

cf cups p-redis -p "{\"host\":\"xx.xx.xxx.xxx\",\"password\":\"xxxxxxxx\",\"port\":6379}"

这不会被 redis 自动重新配置或服务连接器自动选择,并获得 jedis 连接池异常。

当我绑定到从市场创建的 redis 服务时,它可以与 spring boot 应用程序正常工作。这确认代码或配置没有问题。我想要一个自定义服务,让 redis 可以与 spring boot 应用程序一起使用。我怎样才能创建这样的服务?我在这里想念什么?这可能吗?

System-Provided:
{
 "VCAP_SERVICES": {
  "user-provided": [
   {
    "credentials": {
     "host": "xx.xx.xxx.xxx",
     "password": "xxxxxxxx",
     "port": 6379
    },
    "label": "user-provided",
    "name": "p-redis",
    "syslog_drain_url": "",
    "tags": []
   }
  ]
 }
}

我可以扩展抽象云连接器并自己创建 redis 工厂,但我想通过自定义服务和自动配置使其开箱即用。

【问题讨论】:

    标签: redis spring-boot cloud-foundry


    【解决方案1】:

    映射此服务的所有路由都会自动指向spring-cloud-connectors project。如果您查看实现,服务必须是 tagged with redis 或来自 credential keys based on a permutation of uriexpose a uri with a redis scheme

    如果您想要其他检测行为,我建议您在 GitHub 存储库中使用 opening an issue

    【讨论】:

    • 感谢您的指点。 URI 方案有效。 'redis://:e19ca42d-7b6b-4fcc-9735-b5570d5a9df2@10.106.124.172:6379'。至少现在标签不是一个选项,因为用户提供的服务不支持它。
    • 标签目前(2019 年)可以通过-t 参数添加到cf cups 命令。我最近用cf cups p-redis -p "{\"host\":\"xx.xx.xxx.xxx\",\"password\":\"xxxxxxxx\",\"port\":6379}" -t "redis"建立了一个用户定义的redis连接
    【解决方案2】:

    什么对我有用:

    cf cups redis -p '{"uri":"redis://:PASSWORD@HOSTNAME:PORT"}' -t "redis"
    

    感谢之前的答案让我找到了这个解决方案。

    【讨论】:

    • 为什么要在答案中添加日期?它显示在您的用户卡上方。
    猜你喜欢
    • 2022-01-25
    • 2018-09-06
    • 1970-01-01
    • 2021-12-12
    • 2017-05-06
    • 1970-01-01
    • 2016-04-24
    • 2017-01-08
    • 2019-06-16
    相关资源
    最近更新 更多