配置引起的activemq blob的put 抛出异常。
如果你遇到activemq 在发blob消息提示不支持put,那么可能是这样的。
请看看下面字符串的区别。
??? <property name="brokerURL" value="tcp://localhost:61616?jms.blobTransferPolicy.defaultUploadUrl=http://localhost/fileserver/"/>
??? <property name="brokerURL" value="tcp://localhost:61616?jms.blobTransferPolicy.defaultUploadUrl=http://localhost/fileserver"/>
?
前面那个是对的。
这是源代码。注意看,源代码中没有判断URL最后的字符是否为/,算是个小失误吧。
protected URL createUploadURL(ActiveMQBlobMessage message) throws JMSException, MalformedURLException {
??????? return new URL(transferPolicy.getUploadUrl() + message.getMessageId().toString());
??? }