I am finding that multiple instances of each of the beans created in
Conversation scope are created, on every request.
See code fragments below:
I put debug lines in the Constructor to confirm this.
Go to login page, 3 instances of CaseBean, CaseActionBean, and LogBean
are created
After login, application redirects to welcome page. Another 2
instances of each of the above beans are instantiated.

Question is:
1. Why would going to a login.jsf page, which has nothing to do with
any of the beans, create these beans?
2. And why are multiple instances of these created?

<code>

  <bean class="org.springframework.beans.factory.config.CustomScopeConfigurer">
      <property name="scopes">
        <map>
          <entry key="conversation.manual">
            <bean
class="org.apache.myfaces.orchestra.conversation.spring.SpringConversationScope">
              <property name="timeout" value="480" />
            </bean>
          </entry>

          <entry key="conversation.access">
            <bean
class="org.apache.myfaces.orchestra.conversation.spring.SpringConversationScope">
              <property name="timeout" value="480" />
             <!-- <property name="advices">
                <list>
                  <ref bean="persistentContextConversationInterceptor"/>
                </list>
              </property> -->

              <property name="lifetime" value="access"/>
            </bean>
          </entry>
        </map>
      </property>
    </bean>

<bean name="caseBean" class="com.sybase.it.class2.jsf.beans.CaseBean"
scope="conversation.manual">
        <property name="siteAdminService">
                <ref bean="siteAdminService"/>
        </property>
        <property name="contactService">
                <ref bean="contactService"/>
        </property>
        <property name="caseService">
                <ref bean="caseService"/>
        </property>
        <property name="productService">
                <ref bean="productService"/>
        </property>
        <property name="userService">
                <ref bean="userService"/>
        </property>
        <property name="preferenceService">
                <ref bean="preferenceService"/>
        </property>
        <property name="lookupService">
                <ref bean="lookupService"/>
        </property>
   </bean>

 <bean name="subCaseBean"
class="com.sybase.it.class2.jsf.beans.SubCaseBean"
scope="conversation.manual">
                <property name="siteAdminService">
                        <ref bean="siteAdminService"/>
                </property>
                <property name="subCaseService">
                        <ref bean="subCaseService"/>
                </property>     
                        <property name="contactService">
                                <ref bean="contactService"/>
                </property>
                        <property name="caseService">
                                <ref bean="caseService"/>
                         </property>
                <property name="productService">
                        <ref bean="productService"/>
                </property>
                <property name="userService">
                        <ref bean="userService"/>
                </property>
                <property name="preferenceService">
                        <ref bean="preferenceService"/>
                </property>
        <property name="lookupService">
                <ref bean="lookupService"/>
        </property>             
        </bean>
    <bean name="logBean"
class="com.sybase.it.class2.jsf.beans.LogBean"
scope="conversation.manual">
                <property name="caseService">
                        <ref bean="caseService"/>
                 </property>
       <property name="logService">
                <ref bean="logService"/>
        </property>
                <property name="contactService">
                        <ref bean="contactService"/>
      </property>
        </bean> 
        
        <bean name="caseActionBean"
class="com.sybase.it.class2.jsf.beans.CaseActionBean"
scope="conversation.manual">
                <property name="caseService">
                        <ref bean="caseService"/>
                 </property>
       <property name="subCaseService">
                <ref bean="subCaseService"/>
        </property>
        </bean> 

</code>

Reply via email to