0

我在 Bluemix 上提供了一个 IBM Message Hub 实例。我已经实现了一个在我的本地机器上运行的 Java 接收器,它需要能够连接到这个 IBM Message Hub 实例并接收消息。

我应该如何设置我的 VCAP_SERVICES 以便我可以从 Bluemix 连接到我的 IBM Message Hub 实例?当我转到“服务凭据”选项卡时,我配置了一组凭据。密钥名称是 MHCredentials。它的 JSON 值为:

{
  "mqlight_lookup_url": "https://mqlight-lookup-prod01.messagehub.services.us-south.bluemix.net/Lookup?serviceId=26f5f662-b757-43dc-8fcc-810c8d3fbeec",
  "api_key": "DXXXXXXXXXXXXXXXXXXXXXXXXXXXXx",
  "kafka_admin_url": "https://kafka-admin-prod01.messagehub.services.us-south.bluemix.net:443",
  "kafka_rest_url": "https://kafka-rest-prod01.messagehub.services.us-south.bluemix.net:443",
  "kafka_brokers_sasl": [
    "kafka01-prod01.messagehub.services.us-south.bluemix.net:9093",
    "kafka02-prod01.messagehub.services.us-south.bluemix.net:9093",
    "kafka03-prod01.messagehub.services.us-south.bluemix.net:9093",
    "kafka04-prod01.messagehub.services.us-south.bluemix.net:9093",
    "kafka05-prod01.messagehub.services.us-south.bluemix.net:9093"
  ],
  "user": "DXXXXXXXXXXXXXXXXXXXx",
  "password": "3XXXXXXXXXXXXXXXXXXXXXXXXX"
}

请告诉我应该如何设置我的 VCAP_SERVICES 以便我可以从本地计算机上运行的接收器连接到 MessageHub。我已经在我的机器上创建了一个名为:VCAP_SERVICES 的环境变量,上面显示了 JSON 字符串。然而,当我运行我的接收器时,我得到了一个错误:Not a JSON Array.

4

1 回答 1

1

IBM Messaging 创建了一个关于如何开始使用 MessageHub 的教程视频。该视频应涵盖连接到服务的基础知识:

https://www.youtube.com/watch?v=tt-bLtFzC_4

您的“不是 JSON 数组”错误表明您的 VCAP_SERVICES 环境变量格式不正确,实际上它不是有效的 JSON?

您可以尝试开发一个非常小的应用程序,除了打印出 VCAP_SERVICES 环境变量之外什么都不做。然后,您可以在笔记本电脑上本地运行它,并将其部署到 Bluemix 中以比较两者,看看有什么区别?

public class VcapPrinter {
    public static void main(String[] args) {
        String vcapServices = System.getenv("VCAP_SERVICES");
        System.out.println(vcapServices);
    }
}

您可能需要比这更聪明一些并保持应用程序处于活动状态,以便您可以检查 Bluemix 中的 STDOUT。

于 2016-08-12T13:33:14.263 回答