Activemq 使用带有BlobMessage的活动MQ发送文件

Activemq 使用带有BlobMessage的活动MQ发送文件,activemq,spring-jms,jmstemplate,Activemq,Spring Jms,Jmstemplate,我的应用程序要求通过HTTP/FTP协议将文件从一个应用程序发送到另一个应用程序。我发现了以下链接,该链接告诉我们,使用活动MQ和对Blob消息的支持也可以做到这一点: activemq.apache.org/blob-messages.html 我在windows计算机上配置了ActiveMq 5.8,在pom.xml中包含了ActiveMq库所需的依赖项,并且我能够使用org.springframework.jms.core.JmsTemplate发送简单的javax.jms.TextMes

我的应用程序要求通过HTTP/FTP协议将文件从一个应用程序发送到另一个应用程序。我发现了以下链接,该链接告诉我们,使用活动MQ和对Blob消息的支持也可以做到这一点:

activemq.apache.org/blob-messages.html

我在windows计算机上配置了ActiveMq 5.8,在
pom.xml
中包含了ActiveMq库所需的依赖项,并且我能够使用
org.springframework.jms.core.JmsTemplate
发送简单的
javax.jms.TextMessage
javax.jms.MapMessage

但是,当我使用下面的方法发送BlobMessage时,从
javax.jms.Session
对象创建
BlobMessage
对象时,出现了一个编译时错误,其中

类型会话的方法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);
          }
        }


);
}
请帮助解决此编译时错误

问候,


Arun

BlobMessage方法不是JMS规范方法,因此它们不会出现在javax.JMS.Session接口中,您需要强制转换到org.apache.activemq.ActiveMQSession才能使用BlobMessage特定的功能

你说得对。通过类型转换,我能够从会话实例创建
BlobMessage
。您能告诉我如何使用一些
生产者
实例发送此blob消息,因为我无法使用JMSTemplate发送新创建的blog消息。如果您提供一些示例代码来使用Spring本身发送blob消息,那就太好了。