Not sure if this answers your question, but MNG-5742 explains why you see multiple @Singleton instances in maven 3.1.1 but not in 3.3.1. There was related smaller MNG-5793 which I fixed in 3.3.3.
https://issues.apache.org/jira/browse/MNG-5742 https://issues.apache.org/jira/browse/MNG-5793 -- Regards, Igor On Thu, Sep 24, 2015, at 01:33 PM, Karl Heinz Marbaise wrote: > > > Hi, > > while i'm experimenting with LifeCycleParticipant i stumbled over a > thing which looks like a bug for me or a regression...or i misunderstand > a thing... > > So the LifeCycle Participant is defined like this: > > .. > import javax.inject.Inject; > import javax.inject.Named; > import javax.inject.Singleton; > ... > @Singleton > @Named > public class LifeCycleParticipant extends > AbstractMavenLifecycleParticipant { > private final Logger LOGGER = LoggerFactory.getLogger(getClass()); > ... > } > In the methods i have simply done a logging similar to the following: > LOGGER.info("LifeCycleParticipant::LifeCycleParticipant(ctro) > {}", this); > > > If i define the plugin which contains an implementation of > LifeCycleParticipant like this: > > <plugins> > <plugin> > <groupId>@project.groupId@</groupId> > <artifactId>@project.artifactId@</artifactId> > <version>@project.version@</version> > <extensions>true</extensions> > <configuration> > <conf>ANTON</conf> > </configuration> > <executions> > <execution> > <id>first</id> > <goals><goal>test</goal></goals> > <phase>initialize</phase> > </execution> > </executions> > </plugin> > </plugins> > > Furthermore i have defined in my test plugin like this: > > @Mojo( name = "test", defaultPhase = LifecyclePhase.NONE, > requiresProject = true, threadSafe = true ) > public class TestMojo > extends AbstractUpToDateMojo > { > > @Parameter > private String conf; > > @Inject > private LifeCycleParticipant deploy; > > > If take a look into the output during my integration test (running with > Maven 3.2.5) i can see that the LifeCycle participant will be > instantiated two times...(got two different adresses) which looks simply > wrong to me, cause @Singleton means a single instance... > > > If i run the same part with Maven 3.3.1 i can see only a single instance > of LifeCycleParticipant...as I expected... > > So as far as i know JSR330 was supported starting with Maven 3.1.1 ...so > i would expect that it works well in Maven 3.2.X which does not look > like...at the moment... > > So the question is: Is it not allowed to inject the life cycle > participant into the plugin to make configuration possible ? > > Any thoughts... > > Kind regards > Karl Heinz Marbaise > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
