用于Blob消息的ActiveMQ连接URL

时间:2015-06-05 05:08:08

标签: java activemq

我的应用程序我有一个远程ActiveMQ服务器和嵌入式ActiveMQ服务器。当我发短信时,它正在工作。但是当我尝试发送Blob消息时,它会引发由javax.jms.JMSExceptionjava.net.MalformedURLException引起的java.lang.NumberFormatException

我的经纪人网址

String broker1 = "tcp://localhost:7005?jms.blobTransferPolicy.defaultUploadUrl=http://localhost:61617";

其中tcp://localhost:7005是嵌入式代理,http://localhost:61617是远程代理。

我的制片人代码

File file=new File("C:/Users/xxx/Downloads/1234.txt");

ActiveMQConnection connection = ActiveMQConnection.makeConnection(broker);
connection.start();
ActiveMQSession session = (ActiveMQSession) connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
// Create the destination (Topic or Queue)
Destination destination = session.createQueue("test");
MessageProducer producer = session.createProducer(destination);

BlobMessage message = session.createBlobMessage(file);
System.out.println("upload started");
producer.send(message);
System.out.println("upload finished");
session.close();
connection.close();

1 个答案:

答案 0 :(得分:0)

网址应与此embededbroker?jms.blobTransferPolicy.defaultUploadUrl=externalurl

相同

如果嵌入式网址失败,则会使用外部网址。默认的activemq在此链接中提供文件服务器http://(activemq server ip):portnumber/fileserver

例如,如果在localhost网址上运行的activemq服务器应为http://localhost:8161/fileserver/

它支持HTTP或FTP或SCP或其他一些点对点协议。