Author: davsclaus
Date: Sat Sep 8 11:38:15 2012
New Revision: 1382283
URL: http://svn.apache.org/viewvc?rev=1382283&view=rev
Log:
AMQ-4002: Fixed issue with blob transfer policy should be copied when used to
avoid sharing with multiple consumers. Thanks to Antoine for the patch.
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/blob/BlobDownloader.java
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/blob/BlobTransferPolicy.java
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/blob/BlobUploader.java
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/blob/BlobDownloader.java
URL:
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/blob/BlobDownloader.java?rev=1382283&r1=1382282&r2=1382283&view=diff
==============================================================================
---
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/blob/BlobDownloader.java
(original)
+++
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/blob/BlobDownloader.java
Sat Sep 8 11:38:15 2012
@@ -27,10 +27,11 @@ import org.apache.activemq.command.Activ
*/
public class BlobDownloader {
- private BlobTransferPolicy blobTransferPolicy;
+ private final BlobTransferPolicy blobTransferPolicy;
public BlobDownloader(BlobTransferPolicy transferPolicy) {
- this.blobTransferPolicy = transferPolicy;
+ // need to do a defensive copy
+ this.blobTransferPolicy = transferPolicy.copy();
}
public InputStream getInputStream(ActiveMQBlobMessage message) throws
IOException, JMSException {
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/blob/BlobTransferPolicy.java
URL:
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/blob/BlobTransferPolicy.java?rev=1382283&r1=1382282&r2=1382283&view=diff
==============================================================================
---
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/blob/BlobTransferPolicy.java
(original)
+++
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/blob/BlobTransferPolicy.java
Sat Sep 8 11:38:15 2012
@@ -42,7 +42,9 @@ public class BlobTransferPolicy {
that.defaultUploadUrl = this.defaultUploadUrl;
that.brokerUploadUrl = this.brokerUploadUrl;
that.uploadUrl = this.uploadUrl;
+ that.bufferSize = this.bufferSize;
that.uploadStrategy = this.uploadStrategy;
+ that.downloadStrategy = this.downloadStrategy;
return that;
}
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/blob/BlobUploader.java
URL:
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/blob/BlobUploader.java?rev=1382283&r1=1382282&r2=1382283&view=diff
==============================================================================
---
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/blob/BlobUploader.java
(original)
+++
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/blob/BlobUploader.java
Sat Sep 8 11:38:15 2012
@@ -32,17 +32,19 @@ import org.apache.activemq.command.Activ
*/
public class BlobUploader {
- private BlobTransferPolicy blobTransferPolicy;
+ private final BlobTransferPolicy blobTransferPolicy;
private File file;
private InputStream in;
public BlobUploader(BlobTransferPolicy blobTransferPolicy, InputStream in)
{
- this.blobTransferPolicy = blobTransferPolicy;
+ // need to do a defensive copy
+ this.blobTransferPolicy = blobTransferPolicy.copy();
this.in = in;
}
public BlobUploader(BlobTransferPolicy blobTransferPolicy, File file) {
- this.blobTransferPolicy = blobTransferPolicy;
+ // need to do a defensive copy
+ this.blobTransferPolicy = blobTransferPolicy.copy();
this.file = file;
}