No bean named 'cuba_ServerSelector' available

Hi,

There are an error occur when I try to rename root package of project.
First I try to refactor package name in Intellij, then I used tool fnr.exe (http://findandreplace.codeplex.com/) to find and replace related package name in configuration files.
Then I start application but tomcat console throw error “No bean named ‘cuba_ServerSelector’ available”.
Please help me to resolve this.
Thank you.

See error log below:

2017-12-22 11:29:33.147 INFO  [localhost-startStop-1] org.atmosphere.cpr.AtmosphereFramework - Installed AtmosphereHandler 

com.vaadin.server.communication.PushAtmosphereHandler mapped to context-path: /*
2017-12-22 11:29:33.154 INFO  [localhost-startStop-1] org.atmosphere.cpr.AtmosphereFramework - Installed the following AtmosphereInterceptor 

mapped to AtmosphereHandler com.vaadin.server.communication.PushAtmosphereHandler
2017-12-22 11:29:33.157 INFO  [localhost-startStop-1] org.atmosphere.util.IOUtils - META-INF/services/org.atmosphere.cpr.AtmosphereFramework not 

found in class loader
2017-12-22 11:29:33.174 INFO  [localhost-startStop-1] org.atmosphere.cpr.AtmosphereFramework - Atmosphere is using 

org.atmosphere.util.VoidAnnotationProcessor for processing annotation
2017-12-22 11:29:33.185 INFO  [localhost-startStop-1] org.atmosphere.cpr.AtmosphereFramework - Installed WebSocketProtocol 

org.atmosphere.websocket.protocol.SimpleHttpProtocol 
2017-12-22 11:29:33.193 INFO  [localhost-startStop-1] org.atmosphere.container.JSR356AsyncSupport - JSR 356 Mapping path /{path}
2017-12-22 11:29:33.205 INFO  [localhost-startStop-1] org.atmosphere.cpr.AtmosphereFramework - Installing Default AtmosphereInterceptors
2017-12-22 11:29:33.206 INFO  [localhost-startStop-1] org.atmosphere.cpr.AtmosphereFramework - 	org.atmosphere.interceptor.CorsInterceptor : 

CORS Interceptor Support
2017-12-22 11:29:33.207 INFO  [localhost-startStop-1] org.atmosphere.cpr.AtmosphereFramework - 	

org.atmosphere.interceptor.CacheHeadersInterceptor : Default Response's Headers Interceptor
2017-12-22 11:29:33.208 INFO  [localhost-startStop-1] org.atmosphere.cpr.AtmosphereFramework - 	

org.atmosphere.interceptor.PaddingAtmosphereInterceptor : Browser Padding Interceptor Support

2017-12-22 11:29:33.452 INFO  [localhost-startStop-1] com.haulmont.cuba.core.sys.CubaClassPathXmlApplicationContext - Refreshing 

com.haulmont.cuba.core.sys.CubaClassPathXmlApplicationContext@7cc1176f: startup date [Fri Dec 22 11:29:33 ICT 2017]; root of context hierarchy
2017-12-22 11:29:33.702 WARN  [localhost-startStop-1] com.haulmont.cuba.core.sys.CubaClassPathXmlApplicationContext - Exception encountered 

during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with 

name 'com.haulmont.cuba.web.sys.remoting.WebRemoteProxyBeanCreator#0' defined in class path resource [com/mycompany/crm/web-spring.xml]: Cannot 

resolve reference to bean 'cuba_ServerSelector' while setting bean property 'serverSelector'; nested exception is 

org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'cuba_ServerSelector' available
2017-12-22 11:29:33.711 ERROR [localhost-startStop-1] com.haulmont.cuba.core.sys.AbstractWebAppContextLoader - Error initializing application
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 

'com.haulmont.cuba.web.sys.remoting.WebRemoteProxyBeanCreator#0' defined in class path resource [com/mycompany/crm/web-spring.xml]: Cannot 

resolve reference to bean 'cuba_ServerSelector' while setting bean property 'serverSelector'; nested exception is 

org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'cuba_ServerSelector' available
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:359) ~

[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108) 

~[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues

(AbstractAutowireCapableBeanFactory.java:1531) ~[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean

(AbstractAutowireCapableBeanFactory.java:1276) ~[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean

(AbstractAutowireCapableBeanFactory.java:553) ~[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483) 

~[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-

4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-

beans-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-

4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-

4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors

(PostProcessorRegistrationDelegate.java:174) ~[spring-context-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:687) 

~[spring-context-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:525) ~[spring-context-

4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) ~[spring-context-

4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93) ~[spring-context-

4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at com.haulmont.cuba.core.sys.CubaClassPathXmlApplicationContext.<init>(CubaClassPathXmlApplicationContext.java:27) ~[cuba-global-

6.7.4.jar:6.7.4]
	at com.haulmont.cuba.core.sys.AbstractAppContextLoader.createApplicationContext(AbstractAppContextLoader.java:79) ~[cuba-global-

6.7.4.jar:6.7.4]
	at com.haulmont.cuba.core.sys.AbstractAppContextLoader.initAppContext(AbstractAppContextLoader.java:56) ~[cuba-global-6.7.4.jar:6.7.4]
	at com.haulmont.cuba.core.sys.AbstractWebAppContextLoader.contextInitialized(AbstractWebAppContextLoader.java:72) ~[cuba-global-

6.7.4.jar:6.7.4]
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4745) [catalina.jar:8.5.21]
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5207) [catalina.jar:8.5.21]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [catalina.jar:8.5.21]
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752) [catalina.jar:8.5.21]
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728) [catalina.jar:8.5.21]
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734) [catalina.jar:8.5.21]
	at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1144) [catalina.jar:8.5.21]
	at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1878) [catalina.jar:8.5.21]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_131]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_131]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_131]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_131]
	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_131]
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'cuba_ServerSelector' available
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:687) ~

[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1207) ~[spring-

beans-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:284) ~[spring-beans-

4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-

4.3.10.RELEASE.jar:4.3.10.RELEASE]
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351) ~

[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE]
	... 31 common frames omitted

Please provide the following information:

  • Your new root package
  • Value of cuba.springContextConfig property in web-app.properties xml
  • <context:component-scan .../> element in web-spring.xml

Hi,

  • New root package is: com.mycompany.crm
  • Value of cuba.springContextConfig property in web-app.properties xml is: /com/mycompany/crm/web-spring.xml
  • <context:component-scan base-package=“com.mycompany.crm”/>

If I want to rename package name of the project, what are the steps I have to take?

cuba.springContextConfig is an additive property, so it should have “+” in the beginning to include values inherited from app components:

cuba.springContextConfig = +com/mycompany/crm/web-spring.xml
1 Like

Thank you very much.
It’s work