You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "Marko A. Rodriguez (JIRA)" <ji...@apache.org> on 2015/08/24 21:40:45 UTC

[jira] [Commented] (TINKERPOP3-790) Implement AutoCloseable on TraversalSource

    [ https://issues.apache.org/jira/browse/TINKERPOP3-790?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14709930#comment-14709930 ] 

Marko A. Rodriguez commented on TINKERPOP3-790:
-----------------------------------------------

I can easily make {{TraversalSource}} extend {{AutoCloseable}}. The question is, how would you update (lets say) {{GraphTravesalSource}} to clean up {{EventStrategy}} stuff? Seems we would need strategies to also be able to implement {{AutoCloseable}} and if so, on {{TraversalSource.close()}} loop through strategies and if they can be closed (close them). Thoughts?

> Implement AutoCloseable on TraversalSource
> ------------------------------------------
>
>                 Key: TINKERPOP3-790
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP3-790
>             Project: TinkerPop 3
>          Issue Type: Improvement
>          Components: process
>    Affects Versions: 3.0.0-incubating
>            Reporter: stephen mallette
>            Assignee: Marko A. Rodriguez
>             Fix For: 3.1.0-incubating
>
>
> A {{TraversalSource}} may have resources to release so having a {{close}} method would allows that release to occur.  The specific case has to do with {{EventStrategy}} which registers a listener on {{Transaction}}.  That listener should be removed when the user is done with the {{TraversalSource}}, but there is currently no way to clean that up.  The calling of {{close}} should prevent future traversals from that {{TraversalSource}}. 
> I suppose this also means that a {{TraversalStrategy}} will need to optionally implement {{AutoCloseable}} or some other marker interface to designate it as a strategy that needs to release resources.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)