Hello all,
i am trying to integrate Spring and JSF in my application, using hte library jsf-spring-3.0.0M2.
I have defined in applicationContext.xml a bean, applicationBean, which has a property that refers to another bean also defined in applicationContext.xml
applicationBean is also a jsf managed bean, and i wanted to use the scope defined in my jsf-config.xml (application scope).
Following the documentation, i have declared my applicationBean like this in applicationContext.xml
However, when i call my applicationBean from a jsp page, for example, i am receiving the followign exception:
Code:
java.lang.ExceptionInInitializerError
at de.mindmatters.faces.spring.support.DelegatingVariableResolver.getFacesSpringWebApplicationContext(DelegatingVariableResolver.java:156)
at de.mindmatters.faces.spring.support.DelegatingVariableResolver.resolveVariable(DelegatingVariableResolver.java:140)
at org.apache.myfaces.el.ValueBindingImpl$ELVariableResolver.resolveVariable(ValueBindingImpl.java:637)
at org.apache.commons.el.NamedValue.evaluate(NamedValue.java:124)
at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:140)
at org.apache.myfaces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:441)
at javax.faces.component.UIOutput.getValue(UIOutput.java:147)
at org.apache.myfaces.renderkit.RendererUtils.getStringValue(RendererUtils.java:296)
at org.apache.myfaces.renderkit.html.HtmlLabelRenderer.encodeBegin(HtmlLabelRenderer.java:128)
at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:675)
at org.apache.myfaces.renderkit.RendererUtils.renderChild(RendererUtils.java:485)
at org.apache.myfaces.renderkit.html.HtmlGridRenderer.renderChildren(HtmlGridRenderer.java:253)
at org.apache.myfaces.renderkit.html.HtmlGridRenderer.encodeEnd(HtmlGridRenderer.java:131)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:712)
at javax.faces.webapp.UIComponentTag.encodeEnd(UIComponentTag.java:616)
at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:539)
at org.apache.myfaces.taglib.UIComponentBodyTagBase.doEndTag(UIComponentBodyTagBase.java:98)
at org.apache.jsp.insertBody_jsp._jspx_meth_h_panelGrid_0(insertBody_jsp.java:280)
at org.apache.jsp.insertBody_jsp._jspx_meth_h_form_0(insertBody_jsp.java:181)
at org.apache.jsp.insertBody_jsp._jspx_meth_f_view_0(insertBody_jsp.java:151)
at org.apache.jsp.insertBody_jsp._jspService(insertBody_jsp.java:100)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:703)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:589)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:581)
at org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:137)
at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:177)
at org.apache.struts.tiles.taglib.InsertTag.doInclude(InsertTag.java:756)
at org.apache.struts.tiles.taglib.InsertTag$InsertHandler.doEndTag(InsertTag.java:888)
at org.apache.struts.tiles.taglib.InsertTag.doEndTag(InsertTag.java:458)
at org.apache.jsp.layout.classicLayout_002dsm_jsp._jspx_meth_tiles_insert_1(classicLayout_002dsm_jsp.java:299)
at org.apache.jsp.layout.classicLayout_002dsm_jsp._jspService(classicLayout_002dsm_jsp.java:117)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:703)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:589)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:581)
at org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:137)
at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:177)
at org.apache.struts.tiles.taglib.InsertTag.doInclude(InsertTag.java:756)
at org.apache.struts.tiles.taglib.InsertTag$InsertHandler.doEndTag(InsertTag.java:888)
at org.apache.struts.tiles.taglib.InsertTag.doEndTag(InsertTag.java:458)
at org.apache.jsp.insert_jsp._jspx_meth_tiles_insert_0(insert_jsp.java:102)
at org.apache.jsp.insert_jsp._jspService(insert_jsp.java:59)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:703)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:405)
at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:280)
at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:300)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at de.mindmatters.faces.spring.support.RequestHandledFilter.doFilter(RequestHandledFilter.java:150)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:292)
at net.sf.acegisecurity.wrapper.ContextHolderAwareRequestFilter.doFilter(ContextHolderAwareRequestFilter.java:50)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at net.sf.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:74)
at net.sf.acegisecurity.intercept.web.SecurityEnforcementFilter.doFilter(SecurityEnforcementFilter.java:182)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at net.sf.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:153)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at net.sf.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:114)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at net.sf.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:206)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at net.sf.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:305)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at net.sf.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:152)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at net.sf.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:173)
at net.sf.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:125)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at net.sf.acegisecurity.wrapper.ContextHolderAwareRequestFilter.doFilter(ContextHolderAwareRequestFilter.java:50)
at net.sf.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:125)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:292)
at net.sf.acegisecurity.wrapper.ContextHolderAwareRequestFilter.doFilter(ContextHolderAwareRequestFilter.java:50)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at net.sf.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:84)
at net.sf.acegisecurity.intercept.web.SecurityEnforcementFilter.doFilter(SecurityEnforcementFilter.java:182)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at net.sf.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:153)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at net.sf.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:114)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at net.sf.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:206)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at net.sf.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:305)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at net.sf.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:225)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at net.sf.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:173)
at net.sf.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:125)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:72)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(JBossSecurityMgrRealm.java:275)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'applicationBean' defined in ServletContext resource [/WEB-INF/faces-managed-beans.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.FatalBeanException: Could not instantiate class [de.mindmatters.faces.spring.support.SpringManagedBeanFactory]: no default constructor found; nested exception is java.lang.NoSuchMethodException: de.mindmatters.faces.spring.support.SpringManagedBeanFactory.<init>()
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:370)
at de.mindmatters.faces.spring.ManagedBeanFactory.createNonManagedBean(ManagedBeanFactory.java:73)
at de.mindmatters.faces.spring.support.SpringManagedBeanFactory.createManagedBean(SpringManagedBeanFactory.java:39)
at de.mindmatters.faces.spring.ManagedBeanFactory.createBean(ManagedBeanFactory.java:68)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:275)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:318)
at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:134)
at de.mindmatters.faces.spring.FacesConfigWebApplicationContext.refresh(FacesConfigWebApplicationContext.java:300)
at de.mindmatters.faces.spring.support.DelegatingVariableResolver$GetFacesConfigWebApplicationContext.<clinit>(DelegatingVariableResolver.java:113)
... 152 more
Caused by: org.springframework.beans.FatalBeanException: Could not instantiate class [de.mindmatters.faces.spring.support.SpringManagedBeanFactory]: no default constructor found; nested exception is java.lang.NoSuchMethodException: de.mindmatters.faces.spring.support.SpringManagedBeanFactory.<init>()
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:79)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:49)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:453)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:333)
... 162 more
Caused by: java.lang.NoSuchMethodException: de.mindmatters.faces.spring.support.SpringManagedBeanFactory.<init>()
at java.lang.Class.getConstructor0(Class.java:1929)
at java.lang.Class.getDeclaredConstructor(Class.java:1293)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:76)
anyone could help me out?
thanks in advance and regards
marco
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
first of all there is no documentation. Sorry for that, we will support one as soon as possible. Just have a look at the testsuite - this sample app should advise you to set up and use jsf-spring properly.
Just a question: why do you want to scope a spring managed bean with an application scope. Just declare the spring managed bean as singleton and reference it from where you want (e.g. jsp or faces-config).
jsf-spring just supports request and session scope for spring manged beans. See de.mindmatters.faces.spring.RequestScope and de.mindmatters.faces.spring.SessionScope and the testsuite for examples.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello Andreas,
yes maybe i am just messing around
my app works fine if i just declare the bean in appContexxt.xml & reference it from JSP.
reason of why i moved to declare it as application scope was that i wanted to use JSTL within JSF (as i checked, it'snot so easy), and seeing the fact that JSTL didnt 'recognize' the spring bean in its tag, i decided to declare it also in faces-config.
anyway, i found an alternative solution, so i don' tneed the application bean also in faces config.
I have one additional question though: is it possible to split applicationContext.xml in multiiple files and have jsf-spring filter load all of them? i was able to do that in spring, but i found no docs or init parameters for jsf-spring listeners..
is it possible? if so, which parameters need to be configured?
thanks in advance and regards
marco
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello marco,
jsf-spring builds its own webApplicationContext for the *faces-config.xml* files and uses the applicationcontext loaded with spring contextloader as parent. You can split your faces-config files like spring does. check the jsf docs for further information and have a look at our testsuite - there are examples for splitting faces-config files...
andy
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello all,
i am trying to integrate Spring and JSF in my application, using hte library jsf-spring-3.0.0M2.
I have defined in applicationContext.xml a bean, applicationBean, which has a property that refers to another bean also defined in applicationContext.xml
applicationBean is also a jsf managed bean, and i wanted to use the scope defined in my jsf-config.xml (application scope).
Following the documentation, i have declared my applicationBean like this in applicationContext.xml
Code:
<bean id="applicationBean" class="com.myapp.jsf.beans.ApplicationBean" singleton="false">
<property name="persistenceManager">
<ref bean="persistenceManagerTarget"/>
</property>
< /bean>
and in my jsf-config i have defined the applicationBean as following
Code:
<managed-bean>
<managed-bean-name>applicationBean</managed-bean-name>
<managed-bean-class>de.mindmatters.faces.spring.support.SpringManagedBeanFactory</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
</managed-bean>
However, when i call my applicationBean from a jsp page, for example, i am receiving the followign exception:
Code:
java.lang.ExceptionInInitializerError
at de.mindmatters.faces.spring.support.DelegatingVariableResolver.getFacesSpringWebApplicationContext(DelegatingVariableResolver.java:156)
at de.mindmatters.faces.spring.support.DelegatingVariableResolver.resolveVariable(DelegatingVariableResolver.java:140)
at org.apache.myfaces.el.ValueBindingImpl$ELVariableResolver.resolveVariable(ValueBindingImpl.java:637)
at org.apache.commons.el.NamedValue.evaluate(NamedValue.java:124)
at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:140)
at org.apache.myfaces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:441)
at javax.faces.component.UIOutput.getValue(UIOutput.java:147)
at org.apache.myfaces.renderkit.RendererUtils.getStringValue(RendererUtils.java:296)
at org.apache.myfaces.renderkit.html.HtmlLabelRenderer.encodeBegin(HtmlLabelRenderer.java:128)
at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:675)
at org.apache.myfaces.renderkit.RendererUtils.renderChild(RendererUtils.java:485)
at org.apache.myfaces.renderkit.html.HtmlGridRenderer.renderChildren(HtmlGridRenderer.java:253)
at org.apache.myfaces.renderkit.html.HtmlGridRenderer.encodeEnd(HtmlGridRenderer.java:131)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:712)
at javax.faces.webapp.UIComponentTag.encodeEnd(UIComponentTag.java:616)
at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:539)
at org.apache.myfaces.taglib.UIComponentBodyTagBase.doEndTag(UIComponentBodyTagBase.java:98)
at org.apache.jsp.insertBody_jsp._jspx_meth_h_panelGrid_0(insertBody_jsp.java:280)
at org.apache.jsp.insertBody_jsp._jspx_meth_h_form_0(insertBody_jsp.java:181)
at org.apache.jsp.insertBody_jsp._jspx_meth_f_view_0(insertBody_jsp.java:151)
at org.apache.jsp.insertBody_jsp._jspService(insertBody_jsp.java:100)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:703)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:589)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:581)
at org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:137)
at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:177)
at org.apache.struts.tiles.taglib.InsertTag.doInclude(InsertTag.java:756)
at org.apache.struts.tiles.taglib.InsertTag$InsertHandler.doEndTag(InsertTag.java:888)
at org.apache.struts.tiles.taglib.InsertTag.doEndTag(InsertTag.java:458)
at org.apache.jsp.layout.classicLayout_002dsm_jsp._jspx_meth_tiles_insert_1(classicLayout_002dsm_jsp.java:299)
at org.apache.jsp.layout.classicLayout_002dsm_jsp._jspService(classicLayout_002dsm_jsp.java:117)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:703)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:589)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:581)
at org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:137)
at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:177)
at org.apache.struts.tiles.taglib.InsertTag.doInclude(InsertTag.java:756)
at org.apache.struts.tiles.taglib.InsertTag$InsertHandler.doEndTag(InsertTag.java:888)
at org.apache.struts.tiles.taglib.InsertTag.doEndTag(InsertTag.java:458)
at org.apache.jsp.insert_jsp._jspx_meth_tiles_insert_0(insert_jsp.java:102)
at org.apache.jsp.insert_jsp._jspService(insert_jsp.java:59)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:703)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:405)
at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:280)
at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:300)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at de.mindmatters.faces.spring.support.RequestHandledFilter.doFilter(RequestHandledFilter.java:150)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:292)
at net.sf.acegisecurity.wrapper.ContextHolderAwareRequestFilter.doFilter(ContextHolderAwareRequestFilter.java:50)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at net.sf.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:74)
at net.sf.acegisecurity.intercept.web.SecurityEnforcementFilter.doFilter(SecurityEnforcementFilter.java:182)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at net.sf.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:153)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at net.sf.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:114)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at net.sf.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:206)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at net.sf.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:305)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at net.sf.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:152)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at net.sf.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:173)
at net.sf.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:125)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at net.sf.acegisecurity.wrapper.ContextHolderAwareRequestFilter.doFilter(ContextHolderAwareRequestFilter.java:50)
at net.sf.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:125)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:292)
at net.sf.acegisecurity.wrapper.ContextHolderAwareRequestFilter.doFilter(ContextHolderAwareRequestFilter.java:50)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at net.sf.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:84)
at net.sf.acegisecurity.intercept.web.SecurityEnforcementFilter.doFilter(SecurityEnforcementFilter.java:182)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at net.sf.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:153)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at net.sf.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:114)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at net.sf.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:206)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at net.sf.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:305)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at net.sf.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:225)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at net.sf.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:173)
at net.sf.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:125)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:72)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(JBossSecurityMgrRealm.java:275)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'applicationBean' defined in ServletContext resource [/WEB-INF/faces-managed-beans.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.FatalBeanException: Could not instantiate class [de.mindmatters.faces.spring.support.SpringManagedBeanFactory]: no default constructor found; nested exception is java.lang.NoSuchMethodException: de.mindmatters.faces.spring.support.SpringManagedBeanFactory.<init>()
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:370)
at de.mindmatters.faces.spring.ManagedBeanFactory.createNonManagedBean(ManagedBeanFactory.java:73)
at de.mindmatters.faces.spring.support.SpringManagedBeanFactory.createManagedBean(SpringManagedBeanFactory.java:39)
at de.mindmatters.faces.spring.ManagedBeanFactory.createBean(ManagedBeanFactory.java:68)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:275)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:318)
at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:134)
at de.mindmatters.faces.spring.FacesConfigWebApplicationContext.refresh(FacesConfigWebApplicationContext.java:300)
at de.mindmatters.faces.spring.support.DelegatingVariableResolver$GetFacesConfigWebApplicationContext.<clinit>(DelegatingVariableResolver.java:113)
... 152 more
Caused by: org.springframework.beans.FatalBeanException: Could not instantiate class [de.mindmatters.faces.spring.support.SpringManagedBeanFactory]: no default constructor found; nested exception is java.lang.NoSuchMethodException: de.mindmatters.faces.spring.support.SpringManagedBeanFactory.<init>()
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:79)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:49)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:453)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:333)
... 162 more
Caused by: java.lang.NoSuchMethodException: de.mindmatters.faces.spring.support.SpringManagedBeanFactory.<init>()
at java.lang.Class.getConstructor0(Class.java:1929)
at java.lang.Class.getDeclaredConstructor(Class.java:1293)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:76)
anyone could help me out?
thanks in advance and regards
marco
Hello Marco,
first of all there is no documentation. Sorry for that, we will support one as soon as possible. Just have a look at the testsuite - this sample app should advise you to set up and use jsf-spring properly.
Just a question: why do you want to scope a spring managed bean with an application scope. Just declare the spring managed bean as singleton and reference it from where you want (e.g. jsp or faces-config).
jsf-spring just supports request and session scope for spring manged beans. See de.mindmatters.faces.spring.RequestScope and de.mindmatters.faces.spring.SessionScope and the testsuite for examples.
Hello Andreas,
yes maybe i am just messing around
my app works fine if i just declare the bean in appContexxt.xml & reference it from JSP.
reason of why i moved to declare it as application scope was that i wanted to use JSTL within JSF (as i checked, it'snot so easy), and seeing the fact that JSTL didnt 'recognize' the spring bean in its tag, i decided to declare it also in faces-config.
anyway, i found an alternative solution, so i don' tneed the application bean also in faces config.
I have one additional question though: is it possible to split applicationContext.xml in multiiple files and have jsf-spring filter load all of them? i was able to do that in spring, but i found no docs or init parameters for jsf-spring listeners..
is it possible? if so, which parameters need to be configured?
thanks in advance and regards
marco
You can just declare multiple application contexts as you would do with standalone spring, since actually, spring loads them.
HTH,
Thomas
Hello marco,
jsf-spring builds its own webApplicationContext for the *faces-config.xml* files and uses the applicationcontext loaded with spring contextloader as parent. You can split your faces-config files like spring does. check the jsf docs for further information and have a look at our testsuite - there are examples for splitting faces-config files...
andy