All other uses of getComponent() you listed should work fine. In org.apache.cloudstack.affinity.AffinityGroupServiceImpl, why do you even call getComponent()? You already have a list of AffinityGroupProcessors injected to the class. Can't you just loop through those?
Darren On Tue, Nov 5, 2013 at 5:49 PM, Prachi Damle <prachi.da...@citrix.com>wrote: > Thanks Darren, it is the listAffinityGroupTypes API, specific code is in > AffinityGroupServiceImpl :: listAffinityGroupTypes() > Code lists the beans implementing 'AffinityGroupProcessor' adapter > interface. > > > I also dug up few other callers that rely on ComponentContext :: > getComponent()... > > com.cloud.baremetal.networkservice.BareMetalResourceBase.fullSync() > com.cloud.network.NetworkStateListener.pubishOnEventBus(String, String, > Network, State, State) > com.cloud.storage.listener.SnapshotStateListener.pubishOnEventBus(String, > String, Snapshot, State, State) > com.cloud.vm.UserVmStateListener.pubishOnEventBus(String, String, > VirtualMachine, State, State) > com.cloud.storage.listener.VolumeStateListener.pubishOnEventBus(String, > String, Volume, State, State) > com.cloud.event.AlertGenerator.publishAlertOnEventBus(String, long, Long, > String, String) > com.cloud.event.ActionEventUtils.publishOnEventBus(long, long, String, > String, State, String) > com.cloud.event.UsageEventUtils.publishUsageEvent(String, Long, Long, > String, String) > > -----Original Message----- > From: Darren Shepherd [mailto:darren.s.sheph...@gmail.com] > Sent: Tuesday, November 05, 2013 4:40 PM > To: dev@cloudstack.apache.org > Cc: dev@cloudstack.apache.org > Subject: Re: ComponentContext :: getComponent() ? > > Can you point me to the code that is failing. The short of it is that you > shouldn't use ComponentContext. If you show me the failing code I can > offer a better solution or if needed a work around. > > Darren > > > On Nov 5, 2013, at 4:18 PM, Prachi Damle <prachi.da...@citrix.com> > wrote: > > > > Hi, > > > > Before the Spring modularization, we have some usecases that were using > the com.cloud.utils.component.ComponentContext class directly to inject or > to find a bean of given type or name by invoking ComponentContext :: > getComponent(). > > How should these usecases be ported now after the modularization > changes? What should we use instead of ComponentContext, to say find beans > of certain type. > > > > This is the root cause for bug > https://issues.apache.org/jira/browse/CLOUDSTACK-5045 as the code is > still relying on ComponentContext > > > > Thanks, > > Prachi >