Author: norman
Date: Mon Nov 15 11:44:54 2010
New Revision: 1035232
URL: http://svn.apache.org/viewvc?rev=1035232&view=rev
Log:
Generate the filename for the blob payload via the JMSMessageID, thats a way
more save then using the Mail.getName()
Modified:
james/server/trunk/queue-activemq/src/main/java/org/apache/james/queue/activemq/FileSystemBlobStrategy.java
Modified:
james/server/trunk/queue-activemq/src/main/java/org/apache/james/queue/activemq/FileSystemBlobStrategy.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/queue-activemq/src/main/java/org/apache/james/queue/activemq/FileSystemBlobStrategy.java?rev=1035232&r1=1035231&r2=1035232&view=diff
==============================================================================
---
james/server/trunk/queue-activemq/src/main/java/org/apache/james/queue/activemq/FileSystemBlobStrategy.java
(original)
+++
james/server/trunk/queue-activemq/src/main/java/org/apache/james/queue/activemq/FileSystemBlobStrategy.java
Mon Nov 15 11:44:54 2010
@@ -147,7 +147,11 @@ public class FileSystemBlobStrategy impl
if (message.getURL() != null) {
return fs.getFile(message.getURL().toString());
}
- String mailname = message.getStringProperty(JAMES_MAIL_NAME);
+
+ // Make sure it works on windows in all cases and make sure
+ // we use the JMS Message ID as filename so we are safe in the case
+ // we try to stream from and to the same mail
+ String filename =
message.getJMSMessageID().replaceAll("[:\\\\/*?|<>]", "_");
int i = (int) (Math.random()*splitCount+1);
String queueUrl = policy.getUploadUrl() + "/" +i;
@@ -158,7 +162,7 @@ public class FileSystemBlobStrategy impl
if (queueF.exists() == false) {
queueF.mkdirs();
}
- return fs.getFile(queueUrl+ "/" + mailname);
+ return fs.getFile(queueUrl+ "/" + filename);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]