[mule-jira] Created: (MULE-4599) dispose() method not called on transformer that implements Disposable

View: New views
4 Messages — Rating Filter:   Alert me  

[mule-jira] Created: (MULE-4599) dispose() method not called on transformer that implements Disposable

by JIRA no-reply@mulesource.com :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

dispose() method not called on transformer that implements Disposable
---------------------------------------------------------------------

                 Key: MULE-4599
                 URL: http://www.mulesource.org/jira/browse/MULE-4599
             Project: Mule
          Issue Type: Bug
          Components: Core: API
            Reporter: Francis Upton


Seems that just about everything else (component, transport, etc) can implement Disposable, but if a transformer does so nothing happens.

This is a serious problem for those transformers that need to clean up resources.

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://www.mulesource.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email



[mule-jira] Commented: (MULE-4599) dispose() method not called on transformer that implements Disposable

by JIRA no-reply@mulesource.com :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


    [ http://www.mulesource.org/jira/browse/MULE-4599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=32302#action_32302 ]

Dirk Olmes commented on MULE-4599:
----------------------------------

This is only a problem for objects in the {{SpringRegistry}}. Objects in the {{TransientRegistry}} are disposed of just fine.

> dispose() method not called on transformer that implements Disposable
> ---------------------------------------------------------------------
>
>                 Key: MULE-4599
>                 URL: http://www.mulesource.org/jira/browse/MULE-4599
>             Project: Mule
>          Issue Type: Bug
>          Components: Core: API
>            Reporter: Francis Upton
>
> Seems that just about everything else (component, transport, etc) can implement Disposable, but if a transformer does so nothing happens.
> This is a serious problem for those transformers that need to clean up resources.

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://www.mulesource.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email



[mule-jira] Commented: (MULE-4599) dispose() method not called on transformer that implements Disposable

by JIRA no-reply@mulesource.com :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


    [ http://www.mulesource.org/jira/browse/MULE-4599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=32312#action_32312 ]

Daniel Feist commented on MULE-4599:
------------------------------------

This happens because Transformers (and filters) are prototypes and spring cannot and does not perform lifecycle callbacks for dispose/destroy methods for prototypes.

As far as I remember transformers are prototypes for a specific reason, so although changing the scope of transformers to singleton would fix this issue we would need to i) look into the implications ii) make any changes in a new version rather that in a bug-fix release.

- if the transformer is put into Mule's transient registry, it will be
properly disposed on Mule shutdown

- in a Mule config file, don't use the <custom-transformer/> element but
rather declare the transformer as Spring bean like this:

{code:xml}
<spring:bean name="TestTransformer" class="org.mule.TestTransformer"
destroy-method="dispose"/>
{code}

(you should be aware that transformer will be a singleton with this approach)

- implement a listener to Mule's notifications and
clean up upon reception of that notification



> dispose() method not called on transformer that implements Disposable
> ---------------------------------------------------------------------
>
>                 Key: MULE-4599
>                 URL: http://www.mulesource.org/jira/browse/MULE-4599
>             Project: Mule
>          Issue Type: Bug
>          Components: Core: API
>    Affects Versions: 2.2.1
>            Reporter: Francis Upton
>            Assignee: Daniel Feist
>            Priority: Major
>
> Seems that just about everything else (component, transport, etc) can implement Disposable, but if a transformer does so nothing happens.
> This is a serious problem for those transformers that need to clean up resources.

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://www.mulesource.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email



[mule-jira] Commented: (MULE-4599) dispose() method not called on transformer that implements Disposable

by JIRA no-reply@mulesource.com :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


    [ http://www.mulesource.org/jira/browse/MULE-4599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=32496#action_32496 ]

Dirk Olmes commented on MULE-4599:
----------------------------------

This sounds more like an improvement than a bug.

> dispose() method not called on transformer that implements Disposable
> ---------------------------------------------------------------------
>
>                 Key: MULE-4599
>                 URL: http://www.mulesource.org/jira/browse/MULE-4599
>             Project: Mule
>          Issue Type: Bug
>          Components: Core: API
>    Affects Versions: 2.2.1
>            Reporter: Francis Upton
>            Assignee: Daniel Feist
>            Priority: Major
>             Fix For: Product Backlog
>
>
> Seems that just about everything else (component, transport, etc) can implement Disposable, but if a transformer does so nothing happens.
> This is a serious problem for those transformers that need to clean up resources.

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://www.mulesource.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email