Author: norman
Date: Sun Apr 11 13:00:49 2010
New Revision: 932886
URL: http://svn.apache.org/viewvc?rev=932886&view=rev
Log:
Make sure OutputStreams are also closed on dispose...
Modified:
james/server/trunk/core-library/src/main/java/org/apache/james/core/MimeMessageInputStreamSource.java
Modified:
james/server/trunk/core-library/src/main/java/org/apache/james/core/MimeMessageInputStreamSource.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/core-library/src/main/java/org/apache/james/core/MimeMessageInputStreamSource.java?rev=932886&r1=932885&r2=932886&view=diff
==============================================================================
---
james/server/trunk/core-library/src/main/java/org/apache/james/core/MimeMessageInputStreamSource.java
(original)
+++
james/server/trunk/core-library/src/main/java/org/apache/james/core/MimeMessageInputStreamSource.java
Sun Apr 11 13:00:49 2010
@@ -51,6 +51,7 @@ public class MimeMessageInputStreamSourc
implements Disposable {
private final List<InputStream> streams = new ArrayList<InputStream>();
+ private final List<OutputStream> streamsOut = new
ArrayList<OutputStream>();
/**
@@ -166,8 +167,10 @@ public class MimeMessageInputStreamSourc
* @return
* @throws FileNotFoundException
*/
- public OutputStream getWritableOutputStream() throws FileNotFoundException
{
- return new FileOutputStream(file);
+ public synchronized OutputStream getWritableOutputStream() throws
FileNotFoundException {
+ FileOutputStream out = new FileOutputStream(file);
+ streamsOut.add(out);
+ return out;
}
/**
@@ -182,6 +185,13 @@ public class MimeMessageInputStreamSourc
// ignore on dispose
}
}
+ for (int i = 0; i < streamsOut.size(); i++) {
+ try {
+ streamsOut.get(i).close();
+ } catch (IOException e) {
+ // ignore on dispose
+ }
+ }
try {
if (file != null && file.exists()) {
file.delete();
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]