Hi all, i am using spring object factory action itself,service layer and Dao layer. Here, service layer method is getting called twice and due to that dao layer method is also called twice. Can any body tell me what can be the reason of it? This not happening service layer of all action. Like i have another action class which shares the same service layer but for that action service layer is not getting called twice. Following are the all configuration files:
*1. test1-applicationContext.xml* *(My application context file for that test1 action)* <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" " http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <import resource="datasource.xml" /> <import resource="test2-applicationcontext.xml" /> <bean id="testPreview" class="net.test1"> .......... *<property name="itemListingService"> * *<ref bean="itemListingService" /> * *</property>* ............. </bean> </beans> *2. test2-applicationcontext.xml* *(application context file which is imported in above test1 for sharing service layer)* <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" " http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean id="itemListingService" class="net.service.impl.ItemListingServiceImpl"> ................. *<property name="itemListingDao">* *<ref bean="ItemListingDao" />* *</property>* ................. <property name="listingPeripheralDao"> <ref bean="listingPeripheralDao" /> </property> ............. </bean> </beans> *3. struts-test1.xml (struts configuration file for test1'action)* ** <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd "> <struts> <package name="AuctionPreview" extends="struts-test1Stack" namespace="/test"> <interceptors> <interceptor-stack name="auctionPreviewStack"> <interceptor-ref name="sigmaStack"> <param name="SSLInterceptor.excludeMethods"> showListing </param> <param name="ActionContextInterceptor.excludeMethods"> showListing,nextAllItemList,viewStatetaxMap </param> </interceptor-ref> </interceptor-stack> </interceptors> <default-interceptor-ref name="auctionPreviewStack" /> <action name="test!*" method="{1}" class="net.test1"> <result>/jsp/auctionpreview/success.jsp</result> <result name="success">/jsp/auctionpreview/Main.jsp?page=auctionPreview</result> ........ <result name="input">/jsp/auctionpreview/success.jsp</result> ......... <result name="paymentSuccess">/jsp/listing/PaymentSuccess.jsp?page=listing</result> <result name="paymentFail">/jsp/listing/PaymentFailure.jsp?page=listing</result> <result name="error">/jsp/listing/error.jsp?page=listing</result> </action> </package> </struts> *4.struts-test1Stack.xml (interceptor stack config file)* <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd "> <struts> <package name="struts-test1Stack" extends="struts-default"> <interceptors> <interceptor name="SSLInterceptor" class="net.sigmainfo.blackwells.action.SSLInterceptor" /> <interceptor name="ActionContextInterceptor" class="net.sigmainfo.blackwells.action.ActionContextInterceptor" /> <interceptor name="UrlActionInterceptor" class="net.sigmainfo.blackwells.action.UrlActionInterceptor" /> ........................ <interceptor-stack name="test1Stack"> <interceptor-ref name="UrlActionInterceptor" /> <interceptor-ref name="SSLInterceptor" /> <interceptor-ref name="GarbageCollectionInterceptor" /> <interceptor-ref name="defaultStack" /> <interceptor-ref name="ActionContextInterceptor" /> </interceptor-stack> </interceptors> Summary: Here *itemListingService(Service Layer) 's method is called twice and because of it itemListingDao (Dao layer)'s* *method is also called twice any it gives error like Invalid attempt to associate collection with two open session.* ** ** *Can anybody tell me why in test1 service layer is getting called twice.* ** ** *Please share your ideas,* ** *Thanx in advance.* ** *From * *Manish*