Hi,
in these days I'm facing some troubles to get Syncope core working with JRebel
v5.2.2 enabled (JRebel it's a JVM Agent that can instantly reload java classes).
When I enable JRebel on Tomcat JVM, I got this error:
SEVERE: Exception starting filter springSecurityFilterChain
SEVERE: Exception starting filter springSecurityFilterChain
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named
'springSecurityFilterChain' is defined
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:568)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1108)
at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:278)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:198)
at
org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1121)
at
org.springframework.web.filter.DelegatingFilterProxy.initDelegate(DelegatingFilterProxy.java:326)
at
org.springframework.web.filter.DelegatingFilterProxy.initFilterBean(DelegatingFilterProxy.java:236)
at
org.springframework.web.filter.GenericFilterBean.init(GenericFilterBean.java:194)
at
org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)
at
org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)
at
org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)
After some investigation I found that this error it's related to JRebel Spring
Plugin.
Probably you already encountered this problem because I saw that in Syncope
Console jrebel profile JRebel Spring Plugin it's disabled.
Even though I tried disabling spring plugin adding
"-Drebel.spring_plugin=false" parameter to JVM the error still was occurring.
After some investigation I found that this error it's related to spring
dependency resolution when JRebel it's active [1], [2].
The only workaround I found to get it working was to replace, in web.xml, the
contextConfigLocation parameter definition, from
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:/*Context.xml</param-value>
</context-param>
to
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF\classes\persistenceContext.xml,WEB-INF\classes\restContext.xml,WEB-INF\classes\schedulingContext.xml,WEB-INF\classes\securityContext.xml,WEB-INF\classes\syncopeContext.xml,WEB-INF\classes\workflowContext.xml</param-value>
</context-param>
Anyone has had the same problem?
Do you have any suggestion or improvement about it?
Best regards,
Denis.
[1] -
http://zeroturnaround.com/forums/topic/a-problem-when-use-jrebel-with-spring-security/
[2] - http://zeroturnaround.com/forums/topic/spring-dependencies-not-resolving/