Url 如何将本地节目连接到服务隧道?

Url 如何将本地节目连接到服务隧道?,url,rabbitmq,connect,cloud-foundry,tunnel,Url,Rabbitmq,Connect,Cloud Foundry,Tunnel,我已经尝试了一周将本地应用程序连接到CloudFoundry服务上的远程rabbitMQ,但lign: connection=factory.newConnection(); 由于java.net.SocketTimeoutException:读取超时,始终引发IOException 我已经正确地按照本教程的步骤创建了隧道并收集了它的信息,但是它仍然不起作用。 以下是我用于连接本地应用程序的lign: String rabbitMQURI = “amqp://ubSGLHE7886x6:pk6N

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

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

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

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

查看一下,您将看到它显示:

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


回答:目前没有。

只是想确保当您尝试将本地java应用程序连接到CF rabbitmq服务时,您首先通过运行“vmc tunnel servicename”打开了一个隧道。这将为您提供连接属性:用户名、密码、虚拟主机(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();

事实上,即使文档声称没有,也可以连接到POJOJava中的rabbitMQ服务!