问题展示
E:\java-install\jdk1.8.0_181\bin\java.exe -javaagent:C:\app-
Exception in thread "main" java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at com.rabbitmq.client.impl.FrameHandlerFactory.create(FrameHandlerFactory.java:47)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:884)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:839)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:797)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:930)
at com.mq.rabbit.quickstart.Consumer.main(Consumer.java:25)
Process finished with exit code 1
问题原因
可以连接上虚拟中的可视化界面,这个端口是15672。
但是就是代码无法访问到远程上mq,出现连接超时的问题!!!!
解决办法
如果远程上的可视化界面也无法访问,那就要配置一下防火墙的配置文件。
同样代码出现的这种连接超时问题,也是因为防火墙的原因照成的。
当我们在使用window下的浏览器,以及使用代码进行访问远程上的rabbitmq,或被防火墙拦截。导致连接超时。
一、查看防火墙状态:
[root@localhost ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
目前的防火墙是关闭的
二、启动RabbitMQ和查看启动的状态
#启动rabbitmq
[root@localhost ~]# rabbitmq-server -detached
Warning: PID file not written; -detached was passed.
#查看rabbitmq是否启动成功
[root@localhost ~]# rabbitmqctl status
Status of node rabbit@localhost ...
[{pid,1351},
{running_applications,
[{rabbitmq_management,"RabbitMQ Management Console","3.7.5"},
{rabbitmq_web_dispatch,"RabbitMQ Web Dispatcher","3.7.5"},
{rabbitmq_management_agent,"RabbitMQ Management Agent","3.7.5"},
三、配置防火墙配置文件,放行15672和5672端口号
[root@localhost ~]# vi /etc/sysconfig/iptables
# Generated by iptables-save v1.4.21 on Sat Oct 20 17:38:44 2018
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1135:948638]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5672 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 15672 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Sat Oct 20 17:38:44 2018
~
"/etc/sysconfig/iptables" 24L, 1208C
操作完需要重启。
效果演示
可视化界面展示
代码访问成功界面展示:
扫描二维码关注公众号,回复:
3716738 查看本文章
消费者启动成功
生产者启动成功