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

Michael Osipov updated MNG-2875:
--------------------------------

    Fix Version/s:     (was: Issues to be reviewed for 3.x)
                   3.0

> Maven does not honour Plexus component lifecycles in embedded environment for 
> singleton-keep-alive components
> -------------------------------------------------------------------------------------------------------------
>
>                 Key: MNG-2875
>                 URL: https://jira.codehaus.org/browse/MNG-2875
>             Project: Maven
>          Issue Type: Bug
>          Components: Embedding
>    Affects Versions: 2.0.5
>            Reporter: Ross Lamont
>             Fix For: 3.0
>
>
> I have a plugin which is injected with a Plexus Component.  This plexus 
> component implements the plexus Startable interface, and therefore expects 
> stop() to be called upon completion in order to perform cleanup.  In 
> addition, the component is a singleton-keep-alive component so it sticks 
> around for a while and is available to other plugins.
> Now this plugin spawns and monitors a thread (it actually kicks off a copy of 
> Jetty 5 so I can do integration tests).  Naturally, I want to shut down Jetty 
> 5 after my tests have run.  To do this I have another plugin which is run 
> after my integration tests which gets the component and tells it to shutdown 
> the threads.
> All works well so far, provided that the tests don't fail.
> If the tests do fail, the stop plugin is never reached.  In standalone maven 
> this all works fine, because the process ends, killing the threads.
> In embedded maven however, the stop method of the component is never called, 
> so that my copy of Jetty keeps on running and I have to shutdown my entire 
> embedded environment (in this case Netbeans with Mevenide, but I believe the 
> same problem occurs in Eclipse).
> Running through the code, it appears that Maven never shuts down the top 
> level component, thus components never have the opportunity to cleanup.



--
This message was sent by Atlassian JIRA
(v6.1.6#6162)

Reply via email to