2017-04-18 28 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能力等)不匹配....