2017-04-18 56 views
0

我需要配置我的应用程序,以便发送和使用消息来自/来自坐在anoter服务器上的队列。我在我的的application.properties以下配置:远程队列的春季引导Rabbitmq配置

spring.rabbitmq.host=amqp://cloudamqp.com/... 
spring.rabbitmq.port=5672 
spring.rabbitmq.username=jpkszgmu 
spring.rabbitmq.password=*********************** 

而在我的控制器:

@Autowired 
private RabbitTemplate rabbitTemplate; 

@RequestMapping 
public void send(@RequestParam String expediteur, @RequestParam String destinateur, @RequestParam String contenu){ 

    int i = 1; 
    SMS s = new SMS("SMS00"+i, expediteur, destinateur, contenu); 
    this.rabbitTemplate.convertAndSend(MeService.queueName, s); 
} 

和听众:

@RabbitListener(queues = queueName) 
public void process(@Payload SMS s){ 
    System.out.println("SMS Recus: "+s.toString()); 
    r.send(s); 
} 

不过我收到错误说 通过字段'rabbitTemplate'表示的不满意的依赖性;嵌套异常是org.springframework.beans.factory.UnsatisfiedDependencyException ..

有帮助吗?错误创建名为 'meController' 豆:

错误

org.springframework.beans.factory.UnsatisfiedDependencyException的完整曲线不满意的依赖通过现场 'rabbitTemplate' 表示;嵌套异常是org.springframework.beans.factory.UnsatisfiedDependencyException:在类路径资源[org/springframework/boot/autoconfigure/amqp/RabbitAutoConfiguration $ RabbitTemplateConfiguration.class]中定义名称为'rabbitTemplate'的bean时出错:通过方法' rabbitTemplate'参数0;嵌套异常是org.springframework.beans.factory.BeanCreationException:在类路径资源[org/springframework/boot/autoconfigure/amqp/RabbitAutoConfiguration $ RabbitConnectionFactoryCreator.class]中定义名称为'rabbitConnectionFactory'的bean时出错:通过工厂方法实例化Bean失败;嵌套异常是org.springframework.beans.BeanInstantiationException:无法实例化[org.springframework.amqp.rabbit.connection.CachingConnectionFactory]:工厂方法'rabbitConnectionFactory'抛出异常;嵌套异常是java.lang.NumberFormatException:对于输入字符串: “//jpkszgmu:[email protected]/jpkszgmu:5672”

UPDATE 3

ERROR 8392 - - [cTaskExecutor-1] osarlSimpleMessageListenerContainer:无法检查/重新声明自动删除队列。

org.springframework.amqp.AmqpIOException:java.io.IOException的 在org.springframework.amqp.rabbit.support.RabbitExceptionTranslator.convertRabbitAccessException(RabbitExceptionTranslator.java:71)〜[弹簧兔1.7.1.RELEASE .jar:na] at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.createBareConnection(AbstractConnectionFactory.java:367)〜[spring-rabbit-1.7.1.RELEASE.jar:na] at org.springframework.amqp .rabbit.connection.CachingConnectionFactory.createConnection(CachingConnectionFactory.java:565)〜[spring-rabbit-1.7.1.RELEASE.jar:na] at org.springframework.amqp.rabbit.core.RabbitTemplate.doExecute(RabbitTemplate.java :1430)〜[spring-rabbit-1.7.1.RELEASE.jar:na] at org.springframework。 amqp.rabbit.core.RabbitTemplate.execute(RabbitTemplate.java:1411)〜[spring-rabbit-1.7.1.RELEASE.jar:na] at org.springframework.amqp.rabbit.core.RabbitTemplate.execute(RabbitTemplate。 java:1387)〜[spring-rabbit-1.7.1.RELEASE.jar:na] at org.springframework.amqp.rabbit.core.RabbitAdmin。getQueueProperties(RabbitAdmin.java:336)〜[spring-rabbit-1.7.1.RELEASE.jar:na] at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.redeclareElementsIfNecessary(SimpleMessageListenerContainer.java:1135)[spring-rabbit -1.7.1.RELEASE.jar:na] at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.access $ 1200(SimpleMessageListenerContainer.java:96)[spring-rabbit-1.7.1.RELEASE.jar:na] 在org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer $ AsyncMessageProcessingConsumer.run(SimpleMessageListenerContainer.java:1380)[spring-rabbit-1.7.1.RELEASE.jar:na] at java.lang.Thread.run(Thread。 java:745)[na:1.8.0_111] 引起:java.io.IOException:null at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:105)〜[amqp-client-4.0。 2.jar:4.0.2] (com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:101)〜[amqp-client-4.0.2.jar:4.0.2] at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc( AMQChannel.java:123)〜[amqp-client-4.0.2.jar:4.0.2] at com.rabbitmq.client.impl.AMQConnection.start(AMQConnection.java:381)〜[amqp-client-4.0。 2.jar:4.0.2] at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:909)〜[amqp-client-4.0.2.jar:4.0.2] at com.rabbitmq.client。 ConnectionFactory.newConnection(ConnectionFactory.java:859)〜[amqp-client-4.0.2.jar:4.0.2] at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:799)〜[amqp-client- 4.0.2.jar:4.0.2] at org.springframework.amqp.rabbit.connection.AbstractConnectionFactory.createBareConnection(AbstractConnectionFactory.ja va:351)〜[spring-rabbit-1.7.1.RELEASE.jar:na] ... 9通用帧被省略 引起:com.rabbitmq.client.ShutdownSignalException:连接错误 at com.rabbitmq.utility。 ValueOrException.getValue(ValueOrException.java:66)〜[amqp-client-4.0.2.jar:4.0.2] at com.rabbitmq.utility.BlockingValueOrException.uninterruptibleGetValue(BlockingValueOrException.java:32)〜[amqp-client- 4.0.2.jar:4.0.2] at com.rabbitmq.client.impl.AMQChannel $ BlockingRpcContinuation.getReply(AMQChannel.java:366)〜[amqp-client-4.0.2.jar:4.0.2] at com.rabbitmq.client.impl.AMQChannel.privateRpc(AMQChannel.java:229)〜[amqp-client-4.0.2.jar:4.0.2] at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel。 java:117)〜[amqp-client-4.0.2.jar:4.0.2] ... 14 common省略了框架 引起:java.io.EOFException:null at java.io.DataInputStream.readUnsignedByte(DataInputStream.java:290)〜[na:1.8.0_111] at com.rabbitmq.client.impl.Frame.readFrom (Frame.java:91)〜[amqp-client-4.0.2.jar:4.0.2] at com.rabbitmq.client.impl.SocketFrameHandler.readFrame(SocketFrameHandler.java:164)〜[amqp-client-4.0 .2.jar:4.0.2] at com.rabbitmq.client.impl.AMQConnection $ MainLoop.run(AMQConnection.java:571)〜[amqp-client-4.0.2.jar:4.0.2] .. 。1常见帧省略

+0

这与经纪人远程无关;你有类路径中缺少的东西。您需要编辑您的问题以显示完整信息(确切地说,不满意的依赖项是什么)。 –

+0

@GaryRussell查看最新版本.. –

+0

这不是完整的堆栈跟踪。 –

回答

1

我认为在RabbitMQ admin中删除队列并重新启动应用程序,它将重新创建具有正确属性的队列...通常,如果队列属性(自动删除,dur能力等)不匹配....