2013-07-09 34 views
3

我的應用程序需要通過HTTP/FTP協議將文件從一個應用程序發送到另一個應用程序。我發現下面的鏈接,告訴了同樣的做法可以使用Active MQ與斑點的消息supoort:用BlobMessage使用Active MQ發送文件

activemq.apache.org/blob-messages.html

我配置的ActiveMQ 5.8我的Windows機器上,包括爲ActiveMQ的 LIB需要的依賴在我pom.xml,我能夠與org.springframework.jms.core.JmsTemplate

發送簡單javax.jms.TextMessagejavax.jms.MapMessage可是當我用移動下面的方法來發送BlobMessage,編譯時錯誤,同時創造了012出現從javax.jms.Session對象對象,它說

的方法createBlobMessage(文件)是未定義的類型會議

這裏是我使用的方法:

public void sendFile(){ 


     jmsTemplate.send(
     new MessageCreator() { 
      public Message createMessage(Session session) throws JMSException { 


       BlobMessage message = session.createBlobMessage(new File("/foo/bar")); 
       return jmsTemplate.send(message); 
      } 
     } 


); 
} 

請幫忙解決這個編譯時錯誤。

問候,

阿倫

回答

2

的BlobMessage方法不規範的JMS方法,使他們不會在javax.jms.Session界面出現,則需要轉換爲org.apache.activemq.ActiveMQSession以便使用BlobMessage特定的功能。

+0

你說得對。通過類型轉換,我可以從會話實例創建BlobMessage。你能告訴我怎麼發送這個blob消息與一些'生產者'實例,因爲我無法發送新創建的博客消息與JMSTemplate。如果您提供一些示例代碼來使用Spring本身發送blob消息,那將會很好。 –