如何创建 spring 自动配置云连接器选择的用户提供的 redis 服务?

How to create a user provided redis service which spring auto configuration cloud connectors picks?

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

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

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

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

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 工厂,但我想让它通过自定义服务和自动配置开箱即用。

映射此服务的所有路由自动指向 spring-cloud-connectors project. If you look at the implementation, services must be either tagged with redis or expose a uri with a redis scheme from credential keys based on a permutation of uri

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

对我有用的:

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

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