[英]Send message to remote server with RabbitMQ
我最近遇到了一個問題。 我試圖使用RabbitMQ和Java將數據包發送到遠程服務器已經有一段時間了,我確實需要一些幫助。 這是我的代碼的樣子
ConnectionFactory factory = new ConnectionFactory();
//factory.setHost("localhost");
factory.setUsername("dev");
factory.setPassword("/*user password*/");
factory.setVirtualHost("/"); //not really sure what this means
factory.setHost("/*remote server IP*/"); //is this correct
factory.setPort(5672);
connection = factory.newConnection();
我正在使用Windows Server 2012,已向防火牆添加了規則,以允許端口5672和15672上的UDP和TCP進行入站連接。 這些還會是傳出端口嗎? 我想我也必須允許我台式機上的這些端口。 我知道我的數據包在本地發送和工作,經過多次測試。 沒有超時,我只是無法使該遠程連接正常工作。 我希望有幫助!
我認為創建該連接是正確的,但是您是否配置了代理服務器(Rabbitmq)?
如果不是,則開始時,代理服務器的默認用戶名是guest,密碼是guest。
但是問題是,禁止來賓用戶遠程連接到代理。 它只能通過本地主機進行連接。
請通過添加新配置服務器:
要么
要允許來賓用戶從遠程主機連接,應將loopback_users配置項設置為[]。 完整的配置代碼如下:
[{rabbit,[{loopback_users,[]}]}]。
為了更好地理解和闡明這些問題的答案,我作了簡要說明。
您也可以使用URI創建連接:
ConnectionFactory factory = new ConnectionFactory();
factory.
setUri("amqp://userName:password@hostName:portNumber/virtualHost");
Connection conn = factory.newConnection();
我希望它會很好。 如果您對此答案有任何疑問,請讓我在下面發表評論。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.