See my reply to your first message. d.
--- Niral Trivedi <[EMAIL PROTECTED]> wrote: > Hi All, > > We've are trying to use Struts2 with Spring2 on Webspher 6.1 and JDK 1.5. > Basically we are trying to use session scoped beans from Spring > applicationContext in to Struts2 using Spring DI. but running in to issue. > Following are my config files: > > web.xml > ========================================================================================== > <filter> > <filter-name>struts2</filter-name> > <filter-class>org.apache.struts2.dispatcher.FilterDispatcher > </filter-class> > </filter> > <filter-mapping> > <filter-name>struts2</filter-name> > <url-pattern>/*</url-pattern> > </filter-mapping> > > <listener> > <listener-class> > org.springframework.web.context.ContextLoaderListener</listener-class> > </listener> > ================================================================================================== > > Spring applicationContext.xml > ========================================================================================== > > <?xml version="1.0" encoding="UTF-8"?> > <beans xmlns="http://www.springframework.org/schema/beans" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:aop="http://www.springframework.org/schema/aop" > xsi:schemaLocation=" > http://www.springframework.org/schema/beans > http://www.springframework.org/schema/beans/spring-beans-2.0.xsd > http://www.springframework.org/schema/aop > http://www.springframework.org/schema/aop/spring-aop-2.0.xsd"> > <bean id="mVO" class="com.foo.bar.vo.MyVO" scope="session"> > <aop:scoped-proxy/> > </bean> > <bean id="myInterceptor" class="com.foo.bar.interceptors.MyInterceptor"> > <property name="mvo"> > <ref local="mVO" /> > </property> > </bean> > .................. > ============================================================================================= > > When I run this configuration, I am getting following error: > ========================================== > [1/18/08 23:49:51:855 EST] 00000032 WebApp E [Servlet > Error]-[Error > creating bean with name 'scopedTarget.mVO': Scope 'session' is not active > for the current thread; consider defining a scoped proxy for this bean if > you intend to refer to it from a singleton; nested exception is > java.lang.IllegalStateException: No thread-bound request found: Are you > referring to request attributes outside of an actual web request? If you > are > actually operating within a web request and still receive this message,your > code is probably running outside of DispatcherServlet/DispatcherPortlet: In > this case, use RequestContextListener or RequestContextFilter to expose the > current request.]: org.springframework.beans.factory.BeanCreationException: > Error creating bean with name 'scopedTarget.mVO': Scope 'session' is not > active for the current thread; consider defining a scoped proxy for this > bean if you intend to refer to it from a singleton; nested exception is > java.lang.IllegalStateException: No thread-bound request found: Are you > referring to request attributes outside of an actual web request? If you > are > actually operating within a web request and still receive this message,your > code is probably running outside of DispatcherServlet/DispatcherPortlet: In > this case, use RequestContextListener or RequestContextFilter to expose the > current request. > Caused by: java.lang.IllegalStateException: No thread-bound request found: > Are you referring to request attributes outside of an actual web request? > If > you are actually operating within a web request and still receive this > message,your code is probably running outside of > DispatcherServlet/DispatcherPortlet: In this case, use > RequestContextListener or RequestContextFilter to expose the current > request. > at > org.springframework.web.context.request.RequestContextHolder.currentRequestAttributes > (RequestContextHolder.java:102) > at org.springframework.web.context.request.SessionScope.get( > SessionScope.java:88) > at org.springframework.beans.factory.support.AbstractBeanFactory.getBean( > AbstractBeanFactory.java:283) > at org.springframework.beans.factory.support.AbstractBeanFactory.getBean( > AbstractBeanFactory.java:160) > at org.springframework.aop.target.SimpleBeanTargetSource.getTarget( > SimpleBeanTargetSource.java:33) > at > org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.getTarget > (Cglib2AopProxy.java:660) > at > org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept > (Cglib2AopProxy.java:610) > at > com.foo.bar.vo.MyVO$$EnhancerByCGLIB$$d821bb7e.setClassName(<generated>) > at com.foo.bar.interceptors.MyInterceptor.intercept(MyInterceptor.java:56) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling( > DefaultActionInvocation.java:224) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling( > DefaultActionInvocation.java:223) > at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile( > UtilTimerStack.java:455) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke( > DefaultActionInvocation.java:221) > at > org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java > :50) > at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java > :504) > at org.apache.struts2.dispatcher.FilterDispatcher.doFilter( > FilterDispatcher.java:419) > at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter( > FilterInstanceWrapper.java:190) > at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter( > WebAppFilterChain.java:130) > at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter( > WebAppFilterChain.java:87) > at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter( > WebAppFilterManager.java:701) > at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter( > WebAppFilterManager.java:646) > at > com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.invokeFilters( > DefaultExtensionProcessor.java:628) > at > com.ibm.ws.wswebcontainer.extension.DefaultExtensionProcessor.invokeFilters( > DefaultExtensionProcessor.java:145) > at > com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.handleRequest( > DefaultExtensionProcessor.java:595) > at > com.ibm.ws.wswebcontainer.extension.DefaultExtensionProcessor.handleRequest( > DefaultExtensionProcessor.java:111) > at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3129) > at > com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:238) > at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java > :811) > at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java > :1433) > at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java > :93) > at > com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination( > HttpInboundLink.java:465) > at > com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation( > HttpInboundLink.java:394) > at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete( > HttpICLReadCallback.java:102) > at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted( > AioReadCompletionListener.java:152) > at com.ibm.io.async.AbstractAsyncFuture.invokeCallback( > AbstractAsyncFuture.java:213) > at com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions( > AbstractAsyncFuture.java:195) > at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136) > at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:194) > at > com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java > :741) > at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:863) > at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1510) > ====================================================================================================== > > As per above error message, I changed web.xml to have > org.springframework.web.context.request.RequestContextListener instead of > ContextLoaderListener but that cause Struts2 to fail with following error: > ================================================================================================================================================== > > [1/19/08 0:54:47:605 EST] 00000032 StrutsSpringO E > org.apache.commons.logging.impl.Jdk14Logger fatal ********** FATAL ERROR > STARTING UP STRUTS-SPRING INTEGRATION ********** > Looks like the Spring listener was not configured for your web app! > Nothing will work until WebApplicationContextUtils returns a valid > ApplicationContext. > You might need to add the following to web.xml: > <listener> > <listener-class> > org.springframework.web.context.ContextLoaderListener</listener-class> > </listener> > > =================================================================================================== > > So, not sure what am I missing here. Is it a case that, Spring wants us to > use RequestContextListener for session scoped beans but Struts2-spring > plugin will not allow us to use other than ContextLoaderListener. > > I tried old mailing list archives and did search on google but could not > find any solution to this problem. > > So, please help me here. > > Thanks in advance.. > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]