en essayant de créer une nouvelle connexion à rabbitmq s'exécutant sur un serveur différent, j'ai eu l'erreur suivante:
Java.io.IOException
at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.Java:106)
at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.Java:102)
at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.Java:124)
at com.rabbitmq.client.impl.AMQConnection.start(AMQConnection.Java:406)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.Java:516)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.Java:533)
Caused by: com.rabbitmq.client.ShutdownSignalException: connection error; reason: Java.net.SocketException: Connection reset
at com.rabbitmq.utility.ValueOrException.getValue(ValueOrException.Java:67)
at com.rabbitmq.utility.BlockingValueOrException.uninterruptibleGetValue(BlockingValueOrException.Java:33)
at com.rabbitmq.client.impl.AMQChannel$BlockingRpcContinuation.getReply(AMQChannel.Java:343)
at com.rabbitmq.client.impl.AMQChannel.privateRpc(AMQChannel.Java:216)
at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.Java:118)
Caused by: Java.net.SocketException: Connection reset
at Java.net.SocketInputStream.read(Unknown Source)
at Java.net.SocketInputStream.read(Unknown Source)
at Java.io.BufferedInputStream.fill(Unknown Source)
at Java.io.BufferedInputStream.read(Unknown Source)
at Java.io.DataInputStream.readUnsignedByte(Unknown Source)
at com.rabbitmq.client.impl.Frame.readFrom(Frame.Java:95)
at com.rabbitmq.client.impl.SocketFrameHandler.readFrame(SocketFrameHandler.Java:131)
at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.Java:533)
Mesures prises:
lsof -i tcp: 5672
COMMAND PID UTILISATEUR TYPE FD TAILLE DU DISPOSITIF/NOM DE NŒUDS
beam.smp 3084 rabbitmq 15u IPv6 18611 0t0 TCP *: amqp (LISTEN)
rabbitmqctl list_connections
Liste des connexions ... Guest client_server 55765 en cours d’exécution .___ terminé.
netstat -tapnl | grep 5672
tcp 0 0 0.0.0.0:15672 0.0.0.0:* LISTEN 3084/beam.smp
tcp 0 0 0.0.0.0:55672 0.0.0.0:* LISTEN 3084/beam.smp
tcp 0 0 ::: 5672 ::: * LISTEN 3084/beam.smp
Une des raisons possibles est que l'utilisateur avec lequel vous vous connectez à RabbitMQ n'a pas le droit d'accéder aux hôtes virtuels.
Vous pouvez vérifier cela en utilisant Management Plugin (onglet Admin).
Ne spécifiez pas le port par défaut comme vous l'avez mentionné dans vos étapes.
Si vous n'avez pas créé d'hôte virtuel sur le serveur actuel, sur lequel vous essayez de vous connecter, créez un hôte virtuel et accordez-lui la permission de l'administrateur.
Définissez l'hôte virtuel sur la fabrique avant de créer la nouvelle connexion, comme factory.setVirtualHost ("VIRTUAL_Host_NAME_ON_SERVER");
Assurez-vous que le nom d'utilisateur sur le serveur sur lequel vous essayez de vous connecter est Admin et avez accès à l'hôte virtuel que vous venez de créer.
Spécifiez votre nom d'utilisateur et votre mot de passe avec l'hôte virtuel, tout en obtenant la connexion.
Démarrez votre application en mode débogage et vérifiez si elle réussit, factory.newConection ();
Cela devrait permettre à vos affaires de fonctionner… .. Vous avez la même exception, et cela a fonctionné pour moi.
Si cela ne fonctionne toujours pas, collez votre extrait de code.
Vous pouvez vérifier si le support SSL/TLS est activé. Ensuite, utilisez l'instruction useSslProtocol:
ConnectionFactory factory = new ConnectionFactory();
factory.useSslProtocol();