Impossible de se connecter Printemps AMQP / Rabbit MQ : org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Connection refused: connect
Je suis nouveau sur le Printemps AMQP /Rabbit MQ.
Suis aide d'un Ressort AMQP /Rabbit MQ dans mon projet. Je suis en face d'erreur suivant après l'exécution de tomcat:
org.springframework.amqp.lapin.auditeur.SimpleMessageListenerContainer
- Les consommateurs ont soulevé l'exception, le traitement peut redémarrer si la connexion de l'usine prend en charge.Exception résumé: org.springframework.amqp.AmqpConnectException:
java.net.ConnectException: Connection refused: connect
Ci-dessous le fichier de configuration :
spring-amqp.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:rabbit="http://www.springframework.org/schema/rabbit"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/rabbit http://www.springframework.org/schema/rabbit/spring-rabbit.xsd">
<rabbit:connection-factory id="connectionFactory" host="127.0.0.1"/>
<rabbit:admin connection-factory="connectionFactory"/>
<rabbit:template connection-factory="connectionFactory" id="rabbitTemplate" channel-transacted="true"/>
<rabbit:queue name="proposalQueue" />
<rabbit:listener-container connection-factory="connectionFactory">
<rabbit:listener ref="listener" queue-names="proposalQueue"/>
</rabbit:listener-container>
<bean id="rabbitMQTransactionManager" class="org.springframework.amqp.rabbit.transaction.RabbitTransactionManager">
<property name="connectionFactory" ref="connectionFactory"/>
</bean>
<rabbit:direct-exchange name="myExchange">
<rabbit:bindings>
<rabbit:binding queue="proposalQueue" key="userMesssage" />
</rabbit:bindings>
</rabbit:direct-exchange>
<bean id="listener" class="com.xxx.xxxx.rabbitmq.QueueServer"/>
</beans>
QueueServer.java
@Override
public void onMessage(Message message) {
Map<String, Object> result = new HashMap<>();
MessageProperties props = message.getMessageProperties();
BasicProperties replyProps = new BasicProperties.Builder().correlationId(new String(message.getMessageProperties().getCorrelationId())).build();
String inputParameterStr = new String(message.getBody());
try {
Map<String,Object> inputParameters = (Map<String, Object>) Utility.StringToObject(inputParameterStr, "java.util.Map");
result = service.createQueue(inputParameters);
} catch (ClassNotFoundException e) {
logger.error("Error :::: "+getClass()+proposalID, e);
result.put(Constants.FAILURE, e.getMessage());
} catch (Exception e) {
logger.error("Error :::: "+getClass()+proposalID, e);
result.put(Constants.FAILURE, e.getMessage());
}
}
S'il vous plaît aider à résoudre.
OriginalL'auteur AmolKumar | 2015-11-25
Vous devez vous connecter pour publier un commentaire.
Qui signifie simplement que RabbitMQ est pas en cours d'exécution sur
localhost
(127.0.0.1
) sur le port standard (5672).Avez-vous de télécharger et d'installer/exécuter RabbitMQ? Ce n'est pas comme ActiveMQ - il ne peut pas exécuter incorporé dans une application java.
Eh bien, c'est clairement pas à l'écoute sur le port 5672 (valeur par défaut). Essayez
netstat -ano | find "5672"
dans uncmd
fenêtre; si elle est réellement à l'écoute, vous devriez voir127.0.0.1:5672 ... LISTENING
. Regarder le rabbitmq les journaux pour voir si il y a des informations là.merci..je l'ai vérifié sur cmd mais il n'y à pas de n'importe quel port d'écoute comme vous l'avez dit : 127.0.0.1:5672 et s'il vous plaît dites-moi le chemin où log est généré. Rabbit mq est en cours d'exécution sur 25672 (Vérifier dans le moniteur de ressources.)
Je ne suis pas familier avec le lapin sur Windows; désolé; mais il semble qu'il y ait un problème avec votre installation; selon ce lien, 25672 est utilisé pour la mise en cluster de sorte qu'il est étrange qu'il est à l'écoute, mais pas 5672; vous avez besoin de trouver où les journaux sont et de les regarder. Si tout le reste échoue, il y a un groupe google rabbitmq-utilisateurs pour des questions à propos de rabbitmq lui-même (ne pas poser de questions à propos de printemps-amqp là, si c'est le bon endroit pour cela.)
Merci Gary.. je l'ai ré-installer le Rabbitmq en utilisant le lien que vous donnez. toujours utiliser 25672 port et l'erreur est la même. Sur une autre machine même procédure est suivie pour l'installation et tout est bien fait..
OriginalL'auteur Gary Russell
Il y a un autre aspect du problème.
Par défaut, le RabbitMQ est accessible de la machine. Si vous voulez y accéder depuis une autre machine, en général, vous créez une entrée dans "rabbitmq.config de fichier". L'emplacement de ce fichier varie d'un OS à l'OS. Sous Linux, vous pouvez le trouver sur: "/etc/rabbitmq/rabbitmq.config" et en machine Windows, vous pouvez le trouver à: "C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.9\etc\rabbitmq.config".
Il y a une possibilité que vous ne trouvez pas ce fichier à l'emplacement mentionné. C'est une option du fichier et vous n'avez pas à vous inquiéter si il est absent, même. Vous pouvez créer votre propre. Cette entrée est quelque chose comme:
Avec cela, vous pouvez accéder au serveur à partir de n'importe quel ordinateur distant.
Si après cela, vous obtenez le serveur inaccessible, vous pouvez modifier l'entrée:
Vous certainement le serveur connecté à n'importe quel client ainsi que par le biais de la console de gestion (si le plugin est activé)
OriginalL'auteur Ajay Sodhi
Afin d'accéder à la RabbitMQ à distance , vous avez besoin pour permettre l'entrée du trafic TCP sur les ports 4369, 25672, 5671, 5672, 15672, 61613, 61614, 1883, et 8883.
OriginalL'auteur Green Lei