[ 
https://jira.codehaus.org/browse/MNG-5206?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stuart McCulloch updated MNG-5206:
----------------------------------

    Attachment: MNG-5206.20111206.patch

AFAICT the 'container' member variable in MavenCli is only used by the ITs, 
hence it will never get set when Maven is called from the command-line (this 
variable could also do with a more specific name imho).

The attached patch will dispose of per-request containers while still allowing 
the ITs to use a cached container for multiple requests.

You could also consider adding a dispose method to dispose of the cached 
container which could be used by the ITs if necessary.

With this patch, the component from the example plugin is disposed as expected.

> plexus container never disposed
> -------------------------------
>
>                 Key: MNG-5206
>                 URL: https://jira.codehaus.org/browse/MNG-5206
>             Project: Maven 2 & 3
>          Issue Type: Bug
>          Components: Plugin API
>    Affects Versions: 3.0.3
>            Reporter: Jan Sievers
>         Attachments: MNG-5206.20111206.patch, MNG-5206.patch, 
> plexusDisposeBug.zip
>
>
> When I use a plexus component which implements 
> org.codehaus.plexus.personality.plexus.lifecycle.phase.Disposable, dispose() 
> is never called.
> Since maven is creating the plexus container, it should also dispose it (on 
> maven session end?).
> Also see discussion on sisu-dev: 
> http://dev.eclipse.org/mhonarc/lists/sisu-dev/msg00001.html
> Attached sample project demonstrates the issue.
> Steps to reproduce:
> 1. 'mvn install' sample project
> 2. Use the test mojo: 'mvn 
> org.apache.maven.plugins.test:plexusDisposeBug:0.0.1-SNAPSHOT:test'
> => plexus component is injected but never disposed.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to