0

我已经尝试了一周将本地应用程序连接到 CloudFoundry 服务上的远程rabbitMQ,但是 lign: connection = factory.newConnection(); 由于 java.net.SocketTimeoutException:读取超时,总是抛出 IOException 我已正确按照本教程的步骤创建隧道并收集它的信息,但它仍然无法正常工作。这是我用于连接本地应用程序的 lign:

String rabbitMQURI = “amqp://ubSGLHE7886x6:pk6NV4xxxxxx@localhost:10100/ve296d42a44794aac92536b362681e92a”;
factory.setUri(rabbitMQURI);
4

4 回答 4

1

只是想确保当您尝试将本地 java 应用程序连接到 CF rabbitmq 服务时,您首先通过运行“vmc tunnel servicename”打开了一个隧道。这将为您提供连接属性:用户名、密码、virtual_host(vhost) 和端口(正如 Dan 所说,如果您没有打开其他隧道,它应该从 10000 开始)。您需要使用主机名“localhost”。为了使用它,请确保在您的主机文件中 127.0.0.1 映射到名称“localhost”。

我可以毫无问题地连接到我自己的隧道,这些代码行:

    ConnectionFactory factory = new ConnectionFactory();
    factory.setUri("amqp://usd0LnHpwPMvE:p3faI9Ug8E1au@localhost:10000/v51d86f3a7033476695655e42eaa16b1f");
    Connection conn = factory.newConnection();
    Channel channel = conn.createChannel();
于 2012-12-21T07:27:07.827 回答
0

看看http://support.cloudfoundry.com/entries/20334618-rabbitmq-service-faq你会看到它说:

问题: CloudFoundry.com 之外的应用程序是否可以访问 RabbitMQ 服务?

答:目前没有。

于 2012-12-04T15:10:55.663 回答
0

你确定这个端口号是正确的吗?如果您没有任何其他隧道处于活动状态,则默认起始端口为 10000。

于 2012-12-02T00:05:04.330 回答
0

不幸的是,我相信您不能将 vmc 隧道与 RabbitMQ 服务一起使用,而只能与数据库服务一起使用。我不相信 AMQP 端口被映射。

于 2012-12-02T18:15:31.713 回答