繁体   English   中英

RabbitMQ 在 WSO2 微积分器中连接失败,连接服务器的方法是什么?

[英]RabbitMQ connction is getting fail in WSO2 Micro Integrator, what is the way to connect to server?

我创建了一个入站端点来从 RabbitMQ 代理检索消息并以另一个顺序记录它们,当我在本地安装的 RabbitMQ 服务器中尝试时它工作正常,但我无法连接到远程 Z7EAA99323E57B3EFC179 主机

<?xml version="1.0" encoding="UTF-8"?>
    <inboundEndpoint name="QueueInboundEP" onError="Common_Error_Sequence" protocol="rabbitmq" sequence="QueueProcess_Sequence" suspend="false" xmlns="http://ws.apache.org/ns/synapse">
        <parameters>
            <parameter name="sequential">true</parameter>
            <parameter name="coordination">true</parameter>
            <parameter name="rabbitmq.connection.factory">AMQPConnectionFactory</parameter>
            <parameter name="rabbitmq.server.host.name">rabbitmq-ts.sl</parameter>
            <parameter name="rabbitmq.server.port">5672</parameter>
            <parameter name="rabbitmq.server.user.name">guest</parameter>
            <parameter name="rabbitmq.server.password">#4Jkas$56</parameter>
            <parameter name="rabbitmq.queue.name">TestQ</parameter>
            <parameter name="rabbitmq.exchange.name">TestQ</parameter>
            <parameter name="rabbitmq.queue.routing.key">1234</parameter>
            <parameter name="rabbitmq.message.content.type">application/json</parameter>
        </parameters>
    </inboundEndpoint>

错误信息 -:

ERROR {RabbitMQConnectionFactory} - [AMQPConnectionFactory] Error creating connection to RabbitMQ Broker. Reattempting to connect. java.net.ConnectException: Connection timed out: connect
        at java.base/java.net.PlainSocketImpl.waitForConnect(Native Method)
        at java.base/java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:107)
        at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399)
        at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242)
        at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224)
        at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:403)
        at java.base/java.net.Socket.connect(Socket.java:609)
        at com.rabbitmq.client.impl.SocketFrameHandlerFactory.create(SocketFrameHandlerFactory.java:60)
        at com.rabbitmq.client.impl.recovery.RecoveryAwareAMQConnectionFactory.newConnection(RecoveryAwareAMQConnectionFactory.java:62)
        at com.rabbitmq.client.impl.recovery.AutorecoveringConnection.init(AutorecoveringConnection.java:156)
        at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1110)
        at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1067)
        at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:889)
        at org.apache.axis2.transport.rabbitmq.RabbitMQUtils.createConnection(RabbitMQUtils.java:80)
        at org.wso2.carbon.inbound.endpoint.protocol.rabbitmq.RabbitMQConnectionFactory.createConnection(RabbitMQConnectionFactory.java:216)
        at org.wso2.carbon.inbound.endpoint.protocol.rabbitmq.RabbitMQConsumer.initConsumer(RabbitMQConsumer.java:84)
        at org.wso2.carbon.inbound.endpoint.protocol.rabbitmq.RabbitMQConsumer.execute(RabbitMQConsumer.java:71)
        at org.wso2.carbon.inbound.endpoint.protocol.rabbitmq.RabbitMQTask.taskExecute(RabbitMQTask.java:43)
        at org.wso2.carbon.inbound.endpoint.common.OneTimeTriggerInboundTask.execute(OneTimeTriggerInboundTask.java:47)
        at org.wso2.micro.integrator.mediation.ntask.NTaskAdapter.execute(NTaskAdapter.java:105)
        at org.wso2.micro.integrator.ntask.core.impl.TaskQuartzJobAdapter.execute(TaskQuartzJobAdapter.java:63)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:834)

你的配置看起来不错。 这似乎是一个网络问题。 您是否有任何防火墙限制 WSO2 访问 Rabbit 服务器? 执行以下调试。

ping 服务器并查看主机名是否解析

ping -a rabbitmq-ts.sl

如果Hostname可以解析,telnet看看能不能连接到AMQP端口

telnet rabbitmq-ts.sl 5672

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM