It works without removing annotation because they are not being processed
(@component). That is why when you deleted the beans declaration in the XML
Spring started complaining about those beans. So, if they are not being
used, we can simply remove them.

On Tue, Nov 14, 2017 at 10:09 AM, Daan Hoogland <daan.hoogl...@gmail.com>
wrote:

> On Tue, Nov 14, 2017 at 12:00 PM, Rafael Weingärtner <
> rafaelweingart...@gmail.com> wrote:
>
> > That depends-on configuration is not needed when attributes are annotated
> > with @inject or @Autowired, spring builds automatically de dependency
> > hierarchy. Even though the removal of them did not seem to be necessary,
> >
> ​the other way around, it worked without removing the annotation, just
> removing the depends-on attribute was enough.
>
> ​
>
> ​I haven't tried with the attribute and without the annotations.
>
> ​
>
> > their use is also not necessary. The issue seems to be related to
> > application contexts building order. I am not sure how spring behaves
> when
> > it encounters the “depend-on” configuration and the bean have not yet
> been
> > created and this bean is in another XML file that has not yet been
> > processed. When we moved to fat jar approach, was any version of the
> > dependencies changed?
> >
> ​don't know, i haven't found any yet (looking at CLOUDSTACK-10012 tagged
> commits)
>
> >
> > On Tue, Nov 14, 2017 at 7:31 AM, Daan Hoogland <daan.hoogl...@gmail.com>
> > wrote:
> >
> > > it actually already works with only the depends-on attributes in the
> xml
> > > removed but it all makes sense.
> > >
> > > On Tue, Nov 14, 2017 at 1:59 AM, Rafael Weingärtner <
> > > rafaelweingart...@gmail.com> wrote:
> > >
> > > > I removed some spring configurations that were not making sense to
> me.
> > > > After that, everything started working. I committed these changes at
> > > > https://github.com/rafaelweingartner/cloudstack/
> tree/daanTestSimulator
> > > >
> > > > Could you test it? If it works I can open a PR.
> > > >
> > > > On Mon, Nov 13, 2017 at 5:33 PM, Daan Hoogland <
> > daan.hoogl...@gmail.com>
> > > > wrote:
> > > >
> > > > > trying with only the depends-on lines removed now
> > > > >
> > > > > On Mon, Nov 13, 2017 at 8:30 PM, Daan Hoogland <
> > > daan.hoogl...@gmail.com>
> > > > > wrote:
> > > > >
> > > > > > from maven:
> > > > > > mvn -pl client jetty:run -Dsimulator
> > > > > >
> > > > > > On Mon, Nov 13, 2017 at 8:16 PM, Rafael Weingärtner <
> > > > > > rafaelweingart...@gmail.com> wrote:
> > > > > >
> > > > > >> The error changed! That is good... It is a misconfiguration with
> > > > > >> dependencies between modules.
> > > > > >> How are you running the simulator?
> > > > > >>
> > > > > >> On Mon, Nov 13, 2017 at 5:13 PM, Daan Hoogland <
> > > > daan.hoogl...@gmail.com
> > > > > >
> > > > > >> wrote:
> > > > > >>
> > > > > >> > didn't work:( trying with only some parts removed now
> > > > > >> >
> > > > > >> > Caused by: org.springframework.beans.factory.
> > > > > >> > NoSuchBeanDefinitionException:
> > > > > >> > No qualifying bean of type
> > > > > >> > 'org.apache.cloudstack.engine.subsystem.api.storage.
> > > > SnapshotService'
> > > > > >> > available: expected at least 1 bean which qualifies as
> autowire
> > > > > >> candidate.
> > > > > >> > Dependency annotations: {@javax.inject.Inject()}
> > > > > >> >     at
> > > > > >> > org.springframework.beans.factory.support.
> > > > DefaultListableBeanFactory.
> > > > > >> > raiseNoMatchingBeanFound
> > > > > >> > (DefaultListableBeanFactory.java:1501)
> > > > > >> >
> > > > > >> > On Mon, Nov 13, 2017 at 7:27 PM, Rafael Weingärtner <
> > > > > >> > rafaelweingart...@gmail.com> wrote:
> > > > > >> >
> > > > > >> > > These beans declarations do not make much sense. They are
> > > declared
> > > > > >> twice,
> > > > > >> > > once in the XML (spring-engine-storage-
> > > > snapshot-core-context.xml),
> > > > > >> and
> > > > > >> > the
> > > > > >> > > second declaration is executed through the use of
> annotations
> > > > > >> > (@Component)
> > > > > >> > > in those classes. This exception is happening because there
> > is a
> > > > > >> > > configuration in the XML saying that one bean is depending
> on
> > > the
> > > > > >> other.
> > > > > >> > > You can simply remove lines 30-40 from the XML file to fix
> > this.
> > > > > >> > >
> > > > > >> > >
> > > > > >> > >
> > > > > >> > > Side note: Spring automatically build the chain of
> > dependencies
> > > > > >> between
> > > > > >> > > beans to execute the dependency injection properly. The
> > > > > configuration
> > > > > >> > > "depends-on" you find in the XML "bean" element is to define
> > an
> > > > > exotic
> > > > > >> > and
> > > > > >> > > not obvious dependency.
> > > > > >> > >
> > > > > >> > >
> > > > > >> > > On Mon, Nov 13, 2017 at 3:48 PM, Daan Hoogland <
> > > > > >> daan.hoogl...@gmail.com>
> > > > > >> > > wrote:
> > > > > >> > >
> > > > > >> > > > I'm looking at a problem, any one recognises this on
> master?
> > > > > >> simulator
> > > > > >> > > does
> > > > > >> > > > not start cleanly.
> > > > > >> > > >
> > > > > >> > > > [WARNING] Failed startup of context
> > > > o.e.j.m.p.JettyWebAppContext@
> > > > > >> > > 51de5efa
> > > > > >> > > > {/client,file:/Users/dahn/apache/cloudstack/client/
> > > > > >> > > > target/classes/META-INF/webapp/,STARTING}{file:/Users/
> > > > > >> > > > dahn/apache/cloudstack/client/target/classes/META-INF/
> > > webapp/}
> > > > > >> > > > org.springframework.beans.factory.BeanCreationException:
> > > Error
> > > > > >> > creating
> > > > > >> > > > bean with name 'snapshotDataFactoryImpl' defined in URL
> > > > > >> > > > [jar:file:/Users/dahn/.m2/repository/org/apache/
> > > > > >> > cloudstack/cloud-engine-
> > > > > >> > > > storage-snapshot/4.11.0.0-SNAPSHOT/cloud-engine-storage-
> > > > > >> > > > snapshot-4.11.0.0-SNAPSHOT.jar!/META-INF/cloudstack/core/
> > > > > >> > > > spring-engine-storage-snapshot-core-context.xml]:
> > > > > >> > > > Circular depends-on relationship between
> > > > 'snapshotDataFactoryImpl'
> > > > > >> and
> > > > > >> > > > 'volumeDataFactoryImpl'
> > > > > >> > > >     at
> > > > > >> > > > org.springframework.beans.factory.support.
> > > > > >> > AbstractBeanFactory.doGetBean
> > > > > >> > > > (AbstractBeanFactory.java:300)
> > > > > >> > > >     at
> > > > > >> > > > org.springframework.beans.factory.support.
> > AbstractBeanFactor
> > > > > >> y.getBean
> > > > > >> > > > (AbstractBeanFactory.java:200)
> > > > > >> > > >     at
> > > > > >> > > > org.springframework.beans.factory.support.
> > > > > >> > AbstractBeanFactory.doGetBean
> > > > > >> > > > (AbstractBeanFactory.java:304)
> > > > > >> > > >     at
> > > > > >> > > > org.springframework.beans.factory.support.
> > AbstractBeanFactor
> > > > > >> y.getBean
> > > > > >> > > > (AbstractBeanFactory.java:200)
> > > > > >> > > >     at
> > > > > >> > > > org.springframework.beans.factory.support.
> > DefaultListableBea
> > > > > >> nFactory.
> > > > > >> > > > preInstantiateSingletons
> > > > > >> > > > (DefaultListableBeanFactory.java:756)
> > > > > >> > > >     at
> > > > > >> > > > org.springframework.context.support.
> > > AbstractApplicationContext.
> > > > > >> > > > finishBeanFactoryInitialization
> > > > > >> > > > (AbstractApplicationContext.java:868)
> > > > > >> > > >     at
> > > > > >> > > > org.springframework.context.support.
> > AbstractApplicationConte
> > > > > >> xt.refresh
> > > > > >> > > > (AbstractApplicationContext.java:549)
> > > > > >> > > >     at
> > > > > >> > > > org.apache.cloudstack.spring.module.model.impl.
> > > > > >> > > DefaultModuleDefinitionSet.
> > > > > >> > > > loadContext
> > > > > >> > > > (DefaultModuleDefinitionSet.java:145)
> > > > > >> > > >     at
> > > > > >> > > > org.apache.cloudstack.spring.module.model.impl.
> > > > > >> > > > DefaultModuleDefinitionSet$2.with
> > > > > >> > > > (DefaultModuleDefinitionSet.java:122)
> > > > > >> > > >     at
> > > > > >> > > > org.apache.cloudstack.spring.module.model.impl.
> > > > > >> > > DefaultModuleDefinitionSet.
> > > > > >> > > > withModule
> > > > > >> > > > (DefaultModuleDefinitionSet.java:245)
> > > > > >> > > >     at
> > > > > >> > > > org.apache.cloudstack.spring.module.model.impl.
> > > > > >> > > DefaultModuleDefinitionSet.
> > > > > >> > > > withModule
> > > > > >> > > > (DefaultModuleDefinitionSet.java:250)
> > > > > >> > > >     at
> > > > > >> > > > org.apache.cloudstack.spring.module.model.impl.
> > > > > >> > > DefaultModuleDefinitionSet.
> > > > > >> > > > withModule
> > > > > >> > > > (DefaultModuleDefinitionSet.java:250)
> > > > > >> > > >     at
> > > > > >> > > > org.apache.cloudstack.spring.module.model.impl.
> > > > > >> > > DefaultModuleDefinitionSet.
> > > > > >> > > > withModule
> > > > > >> > > > (DefaultModuleDefinitionSet.java:233)
> > > > > >> > > >     at
> > > > > >> > > > org.apache.cloudstack.spring.module.model.impl.
> > > > > >> > > DefaultModuleDefinitionSet.
> > > > > >> > > > loadContexts
> > > > > >> > > > (DefaultModuleDefinitionSet.java:117)
> > > > > >> > > >     at
> > > > > >> > > > org.apache.cloudstack.spring.module.model.impl.
> > > > > >> > > DefaultModuleDefinitionSet.
> > > > > >> > > > load
> > > > > >> > > > (DefaultModuleDefinitionSet.java:79)
> > > > > >> > > >     at
> > > > > >> > > > org.apache.cloudstack.spring.module.factory.
> > ModuleBasedConte
> > > > > >> xtFactory.
> > > > > >> > > > loadModules
> > > > > >> > > > (ModuleBasedContextFactory.java:37)
> > > > > >> > > >     at
> > > > > >> > > > org.apache.cloudstack.spring.module.factory.
> > > > > >> > CloudStackSpringContext.init
> > > > > >> > > > (CloudStackSpringContext.java:71)
> > > > > >> > > >     at
> > > > > >> > > > org.apache.cloudstack.spring.module.factory.
> > > > > >> > > CloudStackSpringContext.<init>
> > > > > >> > > > (CloudStackSpringContext.java:58)
> > > > > >> > > >     at
> > > > > >> > > > org.apache.cloudstack.spring.module.factory.
> > > > > >> > > CloudStackSpringContext.<init>
> > > > > >> > > > (CloudStackSpringContext.java:62)
> > > > > >> > > >     at
> > > > > >> > > > org.apache.cloudstack.spring.module.web.
> > CloudStackContextLoa
> > > > > >> derListene
> > > > > >> > > > r.contextInitialized
> > > > > >> > > > (CloudStackContextLoaderListener.java:52)
> > > > > >> > > >     at
> > > > > >> > > > org.eclipse.jetty.server.handler.ContextHandler.
> > callContextI
> > > > > >> nitialized
> > > > > >> > > > (ContextHandler.java:800)
> > > > > >> > > >     at
> > > > > >> > > > org.eclipse.jetty.servlet.ServletContextHandler.
> > callContextI
> > > > > >> nitialized
> > > > > >> > > > (ServletContextHandler.java:444)
> > > > > >> > > >     at org.eclipse.jetty.server.handler.ContextHandler.
> > > > > startContext
> > > > > >> > > > (ContextHandler.java:791)
> > > > > >> > > >     at org.eclipse.jetty.servlet.ServletContextHandler.
> > > > > startContext
> > > > > >> > > > (ServletContextHandler.java:294)
> > > > > >> > > >     at org.eclipse.jetty.webapp.WebAppContext.startWebapp
> > > > > >> > > > (WebAppContext.java:1349)
> > > > > >> > > >     at org.eclipse.jetty.maven.plugin.JettyWebAppContext.
> > > > > startWebap
> > > > > >> p
> > > > > >> > > > (JettyWebAppContext.java:297)
> > > > > >> > > >     at org.eclipse.jetty.webapp.
> WebAppContext.startContext
> > > > > >> > > > (WebAppContext.java:1342)
> > > > > >> > > >     at org.eclipse.jetty.server.
> > > handler.ContextHandler.doStart
> > > > > >> > > > (ContextHandler.java:741)
> > > > > >> > > >     at org.eclipse.jetty.webapp.WebAppContext.doStart
> > > > > >> > > > (WebAppContext.java:505)
> > > > > >> > > >     at org.eclipse.jetty.maven.plugin.JettyWebAppContext.
> > > > doStart
> > > > > >> > > > (JettyWebAppContext.java:366)
> > > > > >> > > >     at org.eclipse.jetty.util.
> component.AbstractLifeCycle.
> > > start
> > > > > >> > > > (AbstractLifeCycle.java:68)
> > > > > >> > > >     at org.eclipse.jetty.util.
> component.ContainerLifeCycle.
> > > > start
> > > > > >> > > > (ContainerLifeCycle.java:132)
> > > > > >> > > >     at org.eclipse.jetty.util.
> component.ContainerLifeCycle.
> > > > > doStart
> > > > > >> > > > (ContainerLifeCycle.java:114)
> > > > > >> > > >     at org.eclipse.jetty.server.handler.AbstractHandler.
> > > doStart
> > > > > >> > > > (AbstractHandler.java:61)
> > > > > >> > > >     at org.eclipse.jetty.server.handler.
> > > > ContextHandlerCollection.
> > > > > >> > doStart
> > > > > >> > > > (ContextHandlerCollection.java:163)
> > > > > >> > > >     at org.eclipse.jetty.util.
> component.AbstractLifeCycle.
> > > start
> > > > > >> > > > (AbstractLifeCycle.java:68)
> > > > > >> > > >     at org.eclipse.jetty.util.
> component.ContainerLifeCycle.
> > > > start
> > > > > >> > > > (ContainerLifeCycle.java:132)
> > > > > >> > > >     at org.eclipse.jetty.util.
> component.ContainerLifeCycle.
> > > > > doStart
> > > > > >> > > > (ContainerLifeCycle.java:114)
> > > > > >> > > >     at org.eclipse.jetty.server.handler.AbstractHandler.
> > > doStart
> > > > > >> > > > (AbstractHandler.java:61)
> > > > > >> > > >     at org.eclipse.jetty.util.
> component.AbstractLifeCycle.
> > > start
> > > > > >> > > > (AbstractLifeCycle.java:68)
> > > > > >> > > >     at org.eclipse.jetty.util.
> component.ContainerLifeCycle.
> > > > start
> > > > > >> > > > (ContainerLifeCycle.java:132)
> > > > > >> > > >     at org.eclipse.jetty.server.Server.start
> > > (Server.java:387)
> > > > > >> > > >     at org.eclipse.jetty.util.
> component.ContainerLifeCycle.
> > > > > doStart
> > > > > >> > > > (ContainerLifeCycle.java:114)
> > > > > >> > > >     at org.eclipse.jetty.server.handler.AbstractHandler.
> > > doStart
> > > > > >> > > > (AbstractHandler.java:61)
> > > > > >> > > >     at org.eclipse.jetty.server.Server.doStart
> > > > (Server.java:354)
> > > > > >> > > >     at org.eclipse.jetty.maven.plugin.JettyServer.doStart
> > > > > >> > > > (JettyServer.java:73)
> > > > > >> > > >     at org.eclipse.jetty.util.
> component.AbstractLifeCycle.
> > > start
> > > > > >> > > > (AbstractLifeCycle.java:68)
> > > > > >> > > >     at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.
> > > > > startJetty
> > > > > >> > > > (AbstractJettyMojo.java:535)
> > > > > >> > > >     at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.
> > > execute
> > > > > >> > > > (AbstractJettyMojo.java:358)
> > > > > >> > > >     at org.eclipse.jetty.maven.
> plugin.JettyRunMojo.execute
> > > > > >> > > > (JettyRunMojo.java:167)
> > > > > >> > > >     at org.apache.maven.plugin.DefaultBuildPluginManager.
> > > > > executeMoj
> > > > > >> o
> > > > > >> > > > (DefaultBuildPluginManager.java:134)
> > > > > >> > > >     at org.apache.maven.lifecycle.
> > > internal.MojoExecutor.execute
> > > > > >> > > > (MojoExecutor.java:208)
> > > > > >> > > >     at org.apache.maven.lifecycle.
> > > internal.MojoExecutor.execute
> > > > > >> > > > (MojoExecutor.java:154)
> > > > > >> > > >     at org.apache.maven.lifecycle.
> > > internal.MojoExecutor.execute
> > > > > >> > > > (MojoExecutor.java:146)
> > > > > >> > > >     at
> > > > > >> > > > org.apache.maven.lifecycle.internal.
> LifecycleModuleBuilder.
> > > > > >> > buildProject
> > > > > >> > > > (LifecycleModuleBuilder.java:117)
> > > > > >> > > >     at
> > > > > >> > > > org.apache.maven.lifecycle.internal.
> LifecycleModuleBuilder.
> > > > > >> > buildProject
> > > > > >> > > > (LifecycleModuleBuilder.java:81)
> > > > > >> > > >     at
> > > > > >> > > > org.apache.maven.lifecycle.internal.builder.
> singlethreaded.
> > > > > >> > > > SingleThreadedBuilder.build
> > > > > >> > > > (SingleThreadedBuilder.java:51)
> > > > > >> > > >     at org.apache.maven.lifecycle.
> > internal.LifecycleStarter.
> > > > > execute
> > > > > >> > > > (LifecycleStarter.java:128)
> > > > > >> > > >     at org.apache.maven.DefaultMaven.doExecute
> > > > > >> (DefaultMaven.java:309)
> > > > > >> > > >     at org.apache.maven.DefaultMaven.doExecute
> > > > > >> (DefaultMaven.java:194)
> > > > > >> > > >     at org.apache.maven.DefaultMaven.execute
> > > > > >> (DefaultMaven.java:107)
> > > > > >> > > >     at org.apache.maven.cli.MavenCli.execute
> > > > (MavenCli.java:955)
> > > > > >> > > >     at org.apache.maven.cli.MavenCli.doMain
> > > (MavenCli.java:290)
> > > > > >> > > >     at org.apache.maven.cli.MavenCli.main
> > (MavenCli.java:194)
> > > > > >> > > >     at sun.reflect.NativeMethodAccessorImpl.invoke0
> (Native
> > > > > Method)
> > > > > >> > > >     at sun.reflect.NativeMethodAccessorImpl.invoke
> > > > > >> > > > (NativeMethodAccessorImpl.java:62)
> > > > > >> > > >     at sun.reflect.DelegatingMethodAccessorImpl.invoke
> > > > > >> > > > (DelegatingMethodAccessorImpl.java:43)
> > > > > >> > > >     at java.lang.reflect.Method.invoke (Method.java:498)
> > > > > >> > > >     at org.codehaus.plexus.classworlds.launcher.Launcher.
> > > > > >> > launchEnhanced
> > > > > >> > > > (Launcher.java:289)
> > > > > >> > > >     at org.codehaus.plexus.classworlds.launcher.Launcher.
> > > launch
> > > > > >> > > > (Launcher.java:229)
> > > > > >> > > >     at org.codehaus.plexus.classworlds.launcher.Launcher.
> > > > > >> > > mainWithExitCode
> > > > > >> > > > (Launcher.java:415)
> > > > > >> > > >     at org.codehaus.plexus.classworlds.launcher.Launcher.
> > main
> > > > > >> > > > (Launcher.java:356)
> > > > > >> > > > [WARNING] !RequestLog
> > > > > >> > > >
> > > > > >> > > >
> > > > > >> > > > --
> > > > > >> > > > Daan
> > > > > >> > > >
> > > > > >> > >
> > > > > >> > >
> > > > > >> > >
> > > > > >> > > --
> > > > > >> > > Rafael Weingärtner
> > > > > >> > >
> > > > > >> >
> > > > > >> >
> > > > > >> >
> > > > > >> > --
> > > > > >> > Daan
> > > > > >> >
> > > > > >>
> > > > > >>
> > > > > >>
> > > > > >> --
> > > > > >> Rafael Weingärtner
> > > > > >>
> > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > Daan
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Daan
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Rafael Weingärtner
> > > >
> > >
> > >
> > >
> > > --
> > > Daan
> > >
> >
> >
> >
> > --
> > Rafael Weingärtner
> >
>
>
>
> --
> Daan
>



-- 
Rafael Weingärtner

Reply via email to