mike bell created EMAIL-120:
-------------------------------
Summary: attach(DataSource xx) doesn't close inputstream
Key: EMAIL-120
URL: https://issues.apache.org/jira/browse/EMAIL-120
Project: Commons Email
Issue Type: Bug
Affects Versions: 1.2
Environment: Windows 7, 64 bit
Reporter: mike bell
Basically I have code like shown below.
message.attach(reports[1].getDatasource(),
"Report" + new
SimpleDateFormat("yyyymmdd").format(new java.util.Date()) + "." +
selectedAttachment,
selectedAttachment.toUpperCase() + " version of
report");
Where the DataSource in question is a simple JAF FileDataSource.
What I found [when I found files were not being cleaned up by my cleaner)
1. I can delete the backing file before calling this method
2. I cannot delete the backing file after calling this method.
3. Workaround uses the URL version of attachment.
DataSource ds=reports[1].getDatasource();
FileDataSource fds=(FileDataSource) ds;
URL url=fds.getFile().toURI().toURL();
/**
* MJB: We don't use the DataSource directly (as we
should) because of a bug in Commons Email
* where it usually doesn't close the inputstream
*/
message.attach(url,"Report" + new
SimpleDateFormat("yyyymmdd").format(new java.util.Date()) + "." +
selectedAttachment,
selectedAttachment.toUpperCase() + "
version of report");
4. I therefore assume the inputstream has been opened and never closed.
5. Same test after calling send() provides same results
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira