You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Sebb (JIRA)" <ji...@apache.org> on 2010/03/06 01:09:27 UTC
[jira] Commented: (IO-159) FileCleaningTracker: ReferenceQueue uses
raw type
[ https://issues.apache.org/jira/browse/IO-159?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12842122#action_12842122 ]
Sebb commented on IO-159:
-------------------------
The code was changed a while ago to use ReferenceQueue<Object>, so the raw type has gone.
Using ReferenceQueue<Tracker> does not work, because the marker items are just Objects.
q.remove() returns a Reference to the Object.
Adding debug shows the returned item is in fact a Tracker (which is an instance of a Reference).
Debug also shows that using get() on the reference actually returns null.
So I think the code is now OK, though it perhaps should not swallow all Exceptions - remove() is only documented to throw InterruptedException.
Also, there's no point checking the returned object for null, because remove() does not return null.
Fixed accordingly:
URL: http://svn.apache.org/viewvc?rev=919676&view=rev
Log:
See IO-159: remove() never returns null
Modified:
commons/proper/io/trunk/src/java/org/apache/commons/io/FileCleaningTracker.java
> FileCleaningTracker: ReferenceQueue uses raw type
> -------------------------------------------------
>
> Key: IO-159
> URL: https://issues.apache.org/jira/browse/IO-159
> Project: Commons IO
> Issue Type: Improvement
> Affects Versions: 2.0
> Reporter: Paul Benedict
> Priority: Minor
> Fix For: 2.0
>
>
> The field is:
> ReferenceQueue /* Tracker */ q = new ReferenceQueue();
> But that inline comment needs to become the parameterized type. Is it of type <?> ?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.