2015-04-16 43 views
0

我是rabbitmq的新手,我試圖在rabbitmq中發送一個.sh文件。我已經建立了我的隊列和交流。我使用的彈簧AMQP,我可以用我的listerner容器在Rabbitmq中發送Sh文件

public SimpleMessageListenerContainer messageListenerContainer() { 
     SimpleMessageListenerContainer container = new SimpleMessageListenerContainer(connectionFactory()); 
     container.setQueues(topicQueue()); 
     container.setAcknowledgeMode(AcknowledgeMode.AUTO); 
     container.setMessageListener(new MessageListenerAdapter(pageListener(), jsonMessageConverter())); 
     return container; 
} 

發送JSON消息,但我不知道如何發送sh的文件,並在我的pagelistener寫。任何想法如何做到這一點?

回答

1

您需要閱讀文件併發送內容。

您可以使用SimpleMessageConverter(默認值),如果content_type屬性爲text/plain,你會得到一個字符串;否則你會得到一個byte[]

在接收端(大概),您必須將其寫入文件並設置權限。

+0

感謝您的回覆。我能寫我的sh文件。但我的問題是我需要發送我的json和sh文件,我需要將它們寫入不同的文件。所以我嘗試設置2個隊列和一個Exchange,但我不確定如何綁定它們。我想如果我設置了2個隊列和一個單一交換,我可以發送兩個頁面隊列監聽器並將它們寫入不同的文件。但我不知道如何設置它。你能給我提供任何建議嗎 – user3915942

+0

你只需用不同的路由鍵綁定每個隊列。您可以創建兩個不同的偵聽器容器,每個隊列一個,或者一個帶有ContentTypeDelegatingMessageConverter的容器,讓偵聽器接收一個Object。 –

+0

明白了..謝謝!我爲每個隊列設置了兩個不同的偵聽器容器,並且它可以工作。 – user3915942