[ https://issues.apache.org/jira/browse/EMAIL-120?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thomas Neidhart resolved EMAIL-120. ----------------------------------- Resolution: Fixed Fix Version/s: 1.3 Fixed in r1406832. Thanks for the report! > 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 > Fix For: 1.3 > > > 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