>
> > From the url mapping it seems to be used for mycloud which is obsolete
> > I think
>
> Should we remove it and get rid of the servlet class then?
Chiradeep and Edison are right person for this question
>
> > _pluginsMap is non-static but s_locators is. ComponentLocator.
> > getLocator which essentially calls ComponentLocator
> > .getLocatorInternal will synchronize on s_locators, that means
> > ComponentLocators having the same name should not be initialized twice.
> So pluggable services twice initialized should be caused by some other
> issue.
>
> Looking at the code, we are getting a component by
> ConfigurationServer.Name and then by ManagementServer.Name, and from
> debugging earlier I'd found the issues with this code;
>
> ConfigurationServer c =
> (ConfigurationServer)ComponentLocator.getComponent(ConfigurationServ
> er.Name);
> //ConfigurationServer c = new ConfigurationServerImpl();
> try {
> c.persistDefaultValues();
> s_locator =
> ComponentLocator.getLocator(ManagementServer.Name);
> ManagementServer ms =
> (ManagementServer)ComponentLocator.getComponent(ManagementServ
> er.Name);
Then we always have two copies of each singleton. It didn't cause problem
before because most time we use
ComponentLocator.getComponent(ManagementServer.Name)
>
> > I don't know where does our Spring IOC get initialized, but if
> > ComponentLocator is loaded by spring with a name other than
> > ManagementServer.Name, then there would be two copies of
> > ComponentLocator which load all plugins twice
>
> For javelin ComponentLocator is no more and starting that we will use spring
> DI and for getting components without @Inject I've seen usage of a new
> ComponentContext.
>
> Regards.