Lov Webservice called multiple times instead of once

Hi,
I am having a LOV which is being populated by a webservice call.
I have attached this LOV to a view object attribute.
Binded this attribute to a UI(Combo list of values) and when I pick the value from LOV, it fires a
webservice call and fetches data.
When I select a particular value from the list of values, it again fires the webservice call twice.
Can some one advice me on how I can avoid the second and third calls to the webservice being made.
I want the call to be made only once.
Also is there any method in the VOImpl which can help me change this behavior when overriden.
Thanks,
Malathy.

One possible solution is store the LOV values in some scope while retrieving it first time from the web service.
Next time whenever LOV is called then return the LOV values from the scope instead of calling the web service.
psedo code:
        if (ADFContext.getCurrent() != null &&
            ADFContext.getCurrent().getSessionScope().containsKey("LOV_LIST")) {
            LOVList =
                    (List<SelectItem>)ADFContext.getCurrent().getSessionScope().get("LOV_LIST");
        } else {
            LOVList = this.populateVendorListFromWS();
            ADFContext.getCurrent().getSessionScope().put("LOV_LIST",
                                                          LOVList );
        }Hope it helps.

Similar Messages

  • Action method of backing bean called multiple times instead of once.

    Hi,
    My backing bean has an action method called "saveEquipmentList" that's called when a "Save" button is clicked. The problem is, this method gets executed twice every time the button is clicked so data gets peristed twice, db triggers get executed twice, etc., it's really pretty annoying. I've put the bean method's code and the JSF command button below, notice that there's a check for FacesContext.getRenderResponse() that I put in for debugging, the code doesn't get executed at all if I leave the FacesContext.getRenderResponse() in, sure, you're saying "So what's you point", no point, just thought I'd explain why the check is in there.
    Thanks,
    Alex
    public synchronized String saveEquipmentList() throws Exception {
    // Order is very important.
    if (FacesContext.getCurrentInstance().getRenderResponse()) {
    System.out.println("GOT RENDER RESPONSE... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
    try {
    loadEquipmentCodesMap(); // Loads map from equip_code_ids in the DB.
    updateEquipCodesMap(); // Updates total for objcode/type to sum of equipment items for that objcode/type.
    saveEquipmentCodes(); // Saves to equipment_codes table.
    loadEquipmentCodesMap();
    updateDataList();
    savedataList();
    updateTotals();
    loadEquipmentList();
    catch (Exception e) {
    setErrMessage("Error saving equipment: " + e.getMessage());
    return "success";
    }else{
    //facesContext.getCurrentInstance().renderResponse();
    return "success";
                                <h:panelGroup id="pg54">
                                  <h:commandButton id="save" disabled="#{(user.role == '2' and backing_equipmentScreen.viewOnly) or
                                                                                          (user.role == '1' and !backing_equipmentScreen.viewOnly)}"
                                                   value="Save"
                                                   action="#{backing_equipmentScreen.saveEquipmentList}"
                                                   styleClass="input"/>
                                </h:panelGroup>

    Here's the phase listener output before clicking the "Save" button (which calls the saveEquipmentList() action method), I pasted it all, from app started to breakpoint, couldn't get it all in due to the 30K char constraint:
    [EJB 3.0]: Assigning default-data-source=jdbc/FedAppDS, specified in projects EJB 3.0 properties
    [Starting OC4J using the following ports: HTTP=8992, RMI=23898, JMS=9233.]
    C:\Dev\JDeveloper10.1.3.3\jdev\system\oracle.j2ee.10.1.3.41.57\embedded-oc4j\config>
    C:\Dev\JDeveloper10.1.3.3\jdk\bin\javaw.exe -server -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=53366 -classpath C:\Dev\JDeveloper10.1.3.3\j2ee\home\oc4j.jar;C:\Dev\JDeveloper10.1.3.3\jdev\lib\jdev-oc4j-embedded.jar -Xms256m -Xmx1024m -Xverify:none -XX:MaxPermSize=256m -DcheckForUpdates=adminClientOnly -Doracle.application.environment=development -Doracle.j2ee.dont.use.memory.archive=true -Doracle.j2ee.http.socket.timeout=500 -Doc4j.jms.usePersistenceLockFiles=false oracle.oc4j.loader.boot.BootStrap -config C:\Dev\JDeveloper10.1.3.3\jdev\system\oracle.j2ee.10.1.3.41.57\embedded-oc4j\config\server.xml
    [waiting for the server to complete its initialization...]
    Listening for transport dt_socket at address: 53366
    Debugger connected to local process.
    Sep 16, 2009 11:00:34 AM com.evermind.server.jms.JMSMessages log
    INFO: JMSServer[]: OC4J JMS server recovering transactions (commit 0) (rollback 0) (prepared 0).
    Sep 16, 2009 11:00:34 AM com.evermind.server.jms.JMSMessages log
    INFO: JMSServer[]: OC4J JMS server recovering local transactions Queue[jms/Oc4jJmsExceptionQueue].
    Sep 16, 2009 11:00:44 AM com.evermind.server.ejb.logging.EJBDeploymentMessages warningGetBeansFromEJBModule
    WARNING: [current-workspace-app:Fed-EOY-EXP_UserInterface_0] EJB module contains no beans.
    Ready message received from Oc4jNotifier.
    Embedded OC4J startup time: 19859 ms.
    Target URL -- http://10.1.38.77:8992/Fed-EOY-EXP/faces/login.jspx
    09/09/16 11:00:48 Oracle Containers for J2EE 10g (10.1.3.3.0) initialized
    Sep 16, 2009 11:01:00 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(javax.faces.Short,null)
    Sep 16, 2009 11:01:00 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(null,java.lang.Short)
    Sep 16, 2009 11:01:00 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(javax.faces.Byte,null)
    Sep 16, 2009 11:01:00 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(null,java.lang.Byte)
    Sep 16, 2009 11:01:00 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(javax.faces.Integer,null)
    Sep 16, 2009 11:01:00 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(null,java.lang.Integer)
    Sep 16, 2009 11:01:00 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(javax.faces.Long,null)
    Sep 16, 2009 11:01:00 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(null,java.lang.Long)
    Sep 16, 2009 11:01:00 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(javax.faces.Float,null)
    Sep 16, 2009 11:01:00 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(null,java.lang.Float)
    Sep 16, 2009 11:01:00 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(javax.faces.Double,null)
    Sep 16, 2009 11:01:00 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(null,java.lang.Double)
    Sep 16, 2009 11:01:00 AM com.sun.faces.config.rules.ValidatorRule end
    WARNING: [ValidatorRule]{faces-config/validator} Merge(javax.faces.LongRange)
    Sep 16, 2009 11:01:00 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(javax.faces.DateTime,null)
    Sep 16, 2009 11:01:00 AM com.sun.faces.config.rules.ConverterRule end
    WARNING: [ConverterRule]{faces-config/converter} Merge(javax.faces.Number,null)
    Sep 16, 2009 11:01:01 AM com.sun.faces.config.rules.NavigationRuleRule end
    WARNING: [NavigationRuleRule]{faces-config/navigation-rule} Merge(*)
    09/09/16 11:01:02 BeforePhase: RESTORE_VIEW 1
    Sep 16, 2009 11:01:02 AM oracle.adfinternal.view.faces.application.ViewHandlerImpl _checkTimestamp
    INFO: ADF Faces is running with time-stamp checking enabled. This should not be used in a production environment. See the oracle.adf.view.faces.CHECK_FILE_MODIFICATION property in WEB-INF/web.xml
    09/09/16 11:01:02 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:02 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:05 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:05 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:05 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:05 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:05 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:05 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:05 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:05 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:05 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:05 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:05 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:05 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:05 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:05 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:05 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:05 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:05 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:06 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:06 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:06 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:06 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:10 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:10 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:10 BeforePhase: APPLY_REQUEST_VALUES 2
    09/09/16 11:01:10 AfterPhase: APPLY_REQUEST_VALUES 2
    09/09/16 11:01:10 BeforePhase: PROCESS_VALIDATIONS 3
    09/09/16 11:01:11 AfterPhase: PROCESS_VALIDATIONS 3
    09/09/16 11:01:11 BeforePhase: UPDATE_MODEL_VALUES 4
    09/09/16 11:01:11 AfterPhase: UPDATE_MODEL_VALUES 4
    09/09/16 11:01:11 BeforePhase: INVOKE_APPLICATION 5
    09/09/16 11:01:11 LoginBean.login(): Here I is...1
    09/09/16 11:01:11 LoginBean.login(): Here I is...2
    09/09/16 11:01:11 LoginBean.login(): Here I is...2.1
    09/09/16 11:01:11 LoginBean.login(): Here I is...2.2
    09/09/16 11:01:11 LoginBean.login(): Here I is...3
    09/09/16 11:01:11 LoginBean.login(): Here I is...4
    09/09/16 11:01:11 LoginBean.login(): The user's full name is Red Sonia.......................................
    09/09/16 11:01:11 LoginBean.login(): The user's role is Admn.......................................
    09/09/16 11:01:11 LoginBean.login(): Here I is...5
    09/09/16 11:01:11 AfterPhase: INVOKE_APPLICATION 5
    09/09/16 11:01:11 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:11 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:11 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:11 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:11 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:11 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:11 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:11 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:11 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:11 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:11 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:11 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:11 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:11 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:11 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:11 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:11 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:11 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:11 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:11 BeforePhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:11 AM oracle.adfinternal.view.faces.webapp.AdfFacesFilterHelperImpl startFilter
    WARNING: AdfFacesContext had not been properly released on earlier request.
    09/09/16 11:01:11 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:11 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:11 BeforePhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:11 AM oracle.adfinternal.view.faces.renderkit.AdfRenderingContext attach
    WARNING: Trying to attach AdfRenderingContext to a thread that already had one.
    09/09/16 11:01:12 The select sql is: SELECT COUNT(FED_STAFF_ID) FROM FED_STAFF WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 4027 AND SALARY > 0
    09/09/16 11:01:12 The select sql is: SELECT COUNT(CONTRACT_ID) FROM CONTRACT WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 4027
    09/09/16 11:01:12 The select sql is: SELECT COUNT(FED_BUDGET_ID) FROM FED_BUDGET WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 4027
    09/09/16 11:01:12 The select sql is: SELECT COUNT(FED_STAFF_ID) FROM FED_STAFF WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 4173 AND SALARY > 0
    09/09/16 11:01:12 The select sql is: SELECT COUNT(CONTRACT_ID) FROM CONTRACT WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 4173
    09/09/16 11:01:12 The select sql is: SELECT COUNT(FED_BUDGET_ID) FROM FED_BUDGET WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 4173
    09/09/16 11:01:12 The select sql is: SELECT COUNT(FED_STAFF_ID) FROM FED_STAFF WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 5027 AND SALARY > 0
    09/09/16 11:01:12 The select sql is: SELECT COUNT(CONTRACT_ID) FROM CONTRACT WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 5027
    09/09/16 11:01:12 The select sql is: SELECT COUNT(FED_BUDGET_ID) FROM FED_BUDGET WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 5027
    09/09/16 11:01:12 The select sql is: SELECT COUNT(FED_STAFF_ID) FROM FED_STAFF WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 5173 AND SALARY > 0
    09/09/16 11:01:12 The select sql is: SELECT COUNT(CONTRACT_ID) FROM CONTRACT WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 5173
    09/09/16 11:01:12 The select sql is: SELECT COUNT(FED_BUDGET_ID) FROM FED_BUDGET WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 5173
    09/09/16 11:01:12 The select sql is: SELECT COUNT(FED_STAFF_ID) FROM FED_STAFF WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 6027 AND SALARY > 0
    09/09/16 11:01:12 The select sql is: SELECT COUNT(CONTRACT_ID) FROM CONTRACT WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 6027
    09/09/16 11:01:12 The select sql is: SELECT COUNT(FED_BUDGET_ID) FROM FED_BUDGET WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 6027
    09/09/16 11:01:12 The select sql is: SELECT COUNT(FED_STAFF_ID) FROM FED_STAFF WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 6173 AND SALARY > 0
    09/09/16 11:01:12 The select sql is: SELECT COUNT(CONTRACT_ID) FROM CONTRACT WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 6173
    09/09/16 11:01:12 The select sql is: SELECT COUNT(FED_BUDGET_ID) FROM FED_BUDGET WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 6173
    09/09/16 11:01:12 The select sql is: SELECT COUNT(FED_BUDGET_ID) FROM FED_BUDGET WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 3120
    09/09/16 11:01:12 The select sql is: SELECT COUNT(FED_BUDGET_ID) FROM FED_BUDGET WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 3130
    09/09/16 11:01:13 The select sql is: SELECT COUNT(FED_BUDGET_ID) FROM FED_BUDGET WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 3131
    09/09/16 11:01:13 The select sql is: SELECT COUNT(FED_BUDGET_ID) FROM FED_BUDGET WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 4041
    09/09/16 11:01:13 The select sql is: SELECT COUNT(FED_BUDGET_ID) FROM FED_BUDGET WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 4048
    09/09/16 11:01:13 The select sql is: SELECT COUNT(FED_BUDGET_ID) FROM FED_BUDGET WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 4367
    09/09/16 11:01:13 The select sql is: SELECT COUNT(FED_BUDGET_ID) FROM FED_BUDGET WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 5126
    09/09/16 11:01:13 The select sql is: SELECT COUNT(FED_BUDGET_ID) FROM FED_BUDGET WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 5323
    09/09/16 11:01:13 The select sql is: SELECT COUNT(FED_BUDGET_ID) FROM FED_BUDGET WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 8600
    09/09/16 11:01:13 The select sql is: SELECT COUNT(FED_BUDGET_ID) FROM FED_BUDGET WHERE ADMIN_UNIT_CODE = '21050' AND GRANT_SOURCE_CODE = 9013
    09/09/16 11:01:13 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:13 AfterPhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.renderkit.core.CoreRenderKit encodeFinally
    WARNING: No AdfRenderingContext available
    09/09/16 11:01:13 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:13 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:13 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:13 BeforePhase: RESTORE_VIEW 1
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.webapp.AdfFacesFilterHelperImpl startFilter
    WARNING: AdfFacesContext had not been properly released on earlier request.
    09/09/16 11:01:13 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:13 BeforePhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.renderkit.AdfRenderingContext attach
    WARNING: Trying to attach AdfRenderingContext to a thread that already had one.
    09/09/16 11:01:13 AfterPhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.renderkit.core.CoreRenderKit encodeFinally
    WARNING: No AdfRenderingContext available
    09/09/16 11:01:13 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:13 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:13 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:13 BeforePhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.webapp.AdfFacesFilterHelperImpl startFilter
    WARNING: AdfFacesContext had not been properly released on earlier request.
    09/09/16 11:01:13 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:13 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:13 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:13 BeforePhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.renderkit.AdfRenderingContext attach
    WARNING: Trying to attach AdfRenderingContext to a thread that already had one.
    09/09/16 11:01:13 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:13 BeforePhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.webapp.AdfFacesFilterHelperImpl startFilter
    WARNING: AdfFacesContext had not been properly released on earlier request.
    09/09/16 11:01:13 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:13 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:13 AfterPhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.renderkit.core.CoreRenderKit encodeFinally
    WARNING: No AdfRenderingContext available
    09/09/16 11:01:13 BeforePhase: RESTORE_VIEW 1
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.renderkit.AdfRenderingContext attach
    WARNING: Trying to attach AdfRenderingContext to a thread that already had one.
    09/09/16 11:01:13 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:13 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:13 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:13 BeforePhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.webapp.AdfFacesFilterHelperImpl startFilter
    WARNING: AdfFacesContext had not been properly released on earlier request.
    09/09/16 11:01:13 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:13 AfterPhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.renderkit.core.CoreRenderKit encodeFinally
    WARNING: No AdfRenderingContext available
    09/09/16 11:01:13 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:13 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:13 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:13 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:13 BeforePhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.renderkit.AdfRenderingContext attach
    WARNING: Trying to attach AdfRenderingContext to a thread that already had one.
    09/09/16 11:01:13 BeforePhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.webapp.AdfFacesFilterHelperImpl startFilter
    WARNING: AdfFacesContext had not been properly released on earlier request.
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.renderkit.core.CoreRenderKit encodeFinally
    WARNING: No AdfRenderingContext available
    09/09/16 11:01:13 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:13 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:13 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:13 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:13 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:13 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:13 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:13 BeforePhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.renderkit.AdfRenderingContext attach
    WARNING: Trying to attach AdfRenderingContext to a thread that already had one.
    09/09/16 11:01:13 AfterPhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.webapp.AdfFacesFilterHelperImpl startFilter
    WARNING: AdfFacesContext had not been properly released on earlier request.
    09/09/16 11:01:13 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:13 AfterPhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.renderkit.core.CoreRenderKit encodeFinally
    WARNING: No AdfRenderingContext available
    09/09/16 11:01:13 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:13 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:13 AfterPhase: RESTORE_VIEW 1
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.renderkit.AdfRenderingContext attach
    WARNING: Trying to attach AdfRenderingContext to a thread that already had one.
    09/09/16 11:01:13 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:13 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:13 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:13 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:13 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:13 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:13 BeforePhase: RENDER_RESPONSE 6
    09/09/16 11:01:13 AfterPhase: RENDER_RESPONSE 6
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.webapp.AdfFacesFilterHelperImpl startFilter
    WARNING: AdfFacesContext had not been properly released on earlier request.
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.renderkit.core.CoreRenderKit encodeFinally
    WARNING: No AdfRenderingContext available
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.renderkit.AdfRenderingContext attach
    WARNING: Trying to attach AdfRenderingContext to a thread that already had one.
    Sep 16, 2009 11:01:13 AM oracle.adfinternal.view.faces.renderkit.core.CoreRenderKit encodeFinally
    WARNING: No AdfRenderingContext available
    09/09/16 11:01:13 AfterPhase: RENDER_RESPONSE 6
    09/09/16 11:01:16 BeforePhase: RESTORE_VIEW 1
    09/09/16 11:01:16 AfterPhase: RESTORE_VIEW 1
    09/09/16 11:01:16 BeforePhase: APPLY_REQUEST_VALUES 2
    .

  • Finalize() method being called multiple times for same object?

    I got a dilly of a pickle here.
    Looks like according to the Tomcat output log file that the finalize method of class User is being called MANY more times than is being constructed.
    Here is the User class:
    package com.db.multi;
    import java.io.*;
    import com.db.ui.*;
    import java.util.*;
    * @author DBriscoe
    public class User implements Serializable {
        private String userName = null;
        private int score = 0;
        private SocketImage img = null;
        private boolean gflag = false;
        private Calendar timeStamp = Calendar.getInstance();
        private static int counter = 0;
        /** Creates a new instance of User */
        public User() { counter++;     
        public User(String userName) {
            this.userName = userName;
            counter++;
        public void setGflag(boolean gflag) {
            this.gflag = gflag;
        public boolean getGflag() {
            return gflag;
        public void setScore(int score) {
            this.score = score;
        public int getScore() {
            return score;
        public void setUserName(String userName) {
            this.userName = userName;
        public String getUserName() {
            return userName;
        public void setImage(SocketImage img) {
            this.img = img;
        public SocketImage getImage() {
            return img;
        public void setTimeStamp(Calendar c) {
            this.timeStamp = c;
        public Calendar getTimeStamp() {
            return this.timeStamp;
        public boolean equals(Object obj) {
            try {
                if (obj instanceof User) {
                    User comp = (User)obj;
                    return comp.getUserName().equals(userName);
                } else {
                    return false;
            } catch (NullPointerException npe) {
                return false;
        public void finalize() {
            if (userName != null && !userName.startsWith("OUTOFDATE"))
                System.out.println("User " + userName + " destroyed. " + counter);
        }As you can see...
    Every time a User object is created, a static counter variable is incremented and then when an object is destroyed it appends the current value of that static member to the Tomcat log file (via System.out.println being executed on server side).
    Below is the log file from an example run in my webapp.
    Dustin
    User Queue Empty, Adding User: com.db.multi.User@1a5af9f
    User Dustin destroyed. 0
    User Dustin destroyed. 0
    User Dustin destroyed. 0
    User Dustin destroyed. 0
    User Dustin destroyed. 0
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin destroyed. 1
    User Dustin destroyed. 1
    User Dustin destroyed. 1
    User Dustin destroyed. 1
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    User Dustin destroyed. 2
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    User Dustin destroyed. 3
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    User Dustin destroyed. 4
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    User Dustin destroyed. 5
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    User Dustin destroyed. 6
    Joe
    USER QUEUE: false
    INSIDE METHOD: false
    AFTER METHOD: false
    User Dustin pulled from Queue, Game created: Joe
    User Already Placed: Dustin with Joe
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    User Dustin destroyed. 7
    INSIDE METHOD: false
    INSIDE METHOD: false
    USER QUEUE: true
    INSIDE METHOD: false
    INSIDE METHOD: false
    User Dustin destroyed. 9
    User Joe destroyed. 9
    User Dustin destroyed. 9
    User Dustin destroyed. 9
    User Dustin destroyed. 9
    User Dustin destroyed. 9
    INSIDE METHOD: true
    INSIDE METHOD: false
    USER QUEUE: true
    INSIDE METHOD: false
    INSIDE METHOD: false
    INSIDE METHOD: true
    INSIDE METHOD: false
    USER QUEUE: true
    INSIDE METHOD: false
    INSIDE METHOD: false
    It really does seem to me like finalize is being called multiple times for the same object.
    That number should incremement for every instantiated User, and finalize can only be called once for each User object.
    I thought this was impossible?
    Any help is appreciated!

    Thanks...
    I am already thinking of ideas to limit the number of threads.
    Unfortunately there are two threads of execution in the servlet handler, one handles requests and the other parses the collection of User objects to check for out of date timestamps, and then eliminates them if they are out of date.
    The collection parsing thread is currently a javax.swing.Timer thread (Bad design I know...) so I believe that I can routinely check for timestamps in another way and fix that problem.
    Just found out too that Tomcat was throwing me a ConcurrentModificationException as well, which may help explain the slew of mysterious behavior from my servlet!
    The Timer thread has to go. I got to think of a better way to routinely weed out User objects from the collection.
    Or perhaps, maybe I can attempt to make it thread safe???
    Eg. make my User collection volatile?
    Any opinions on the best approach are well appreciated.

  • Backing  Bean constructor getting called multiple times

    I have a List of records in the Table with a link Add.
    When i click Add i show a popup dialog which is attached to the dialogListener.
    On clicking OK on the dialog i want to add a record in the List in the backing Bean, but the Bean constructor is getting called multiple times.
    and the list to which the table is attached is also getting called multiple times.
    is there a way in which the method gets called only once?
    Message was edited by:
    user607056

    Hi!
    af:table have property ContentDelivery. When <default> (lazy), the table "frame" iz rendered in first page cycle, and content (rows in table) are fetched lazy i.e. in second cycle. Thus, your backing bean is constructed twice.
    If you set ContentDelivery to immediate, the table including data rows is generated in single page cycle thus your backing bean is constructed only once.
    Hope this helps,
    PaKo

  • Oracle Object Type Constructor Called Multiple Times

    I have an object type with a custom constructor. In SQL, when I reference the attributes the constructor is called multiple times in Oracle 11.2.0.4.
    Why is the constructor called multiple times?
    How do I stop it?
    My current work around is to reference the attributes and use the /*+ materialize */ hint.
    Problem Setup
        create or replace type Foo as object
          Bar1 NUMBER,
          Bar2 NUMBER,
          Bar3 NUMBER,
          CONSTRUCTOR FUNCTION Foo(p_Bar1 NUMBER, p_Bar2 NUMBER, p_Bar3 NUMBER)
            RETURN SELF AS RESULT
            DETERMINISTIC
        create or replace type body Foo is
          -- Member procedures and functions
          CONSTRUCTOR FUNCTION Foo(p_Bar1 NUMBER, p_Bar2 NUMBER, p_Bar3 NUMBER)
            RETURN SELF AS RESULT
            DETERMINISTIC
          AS
          BEGIN
            SELF.Bar1 := p_Bar1;
            SELF.Bar2 := p_Bar2;
            SELF.Bar3 := p_Bar3;
            dbms_output.put_line('Foo Constructor Called');
            RETURN;
          END;
        end;
    Problem
        -- Constructor is called 6 times!
        -- Once for each column and once for each predicate in the where clause.
        SELECT x.f.bar1 AS bar1, x.f.bar2 AS bar2, x.f.bar3 AS bar3, f
        FROM (
          SELECT foo(p_Bar1 => 1, p_Bar2 => 2, p_Bar3 => 3) f
          FROM dual d
        ) x
        WHERE x.f.bar1 = x.f.bar1 AND x.f.bar2 = x.f.bar2
    Output
    Foo Constructor Called
    Foo Constructor Called
    Foo Constructor Called
    Foo Constructor Called
    Foo Constructor Called
    Foo Constructor Called
    Workaround
        -- Work Around
        -- Constructor is called 3 times
        -- Once for each column in the inline view.
        -- Note, I removed column f (the object type) because it's not compatible with the materialize hint.
        WITH y AS (
          SELECT /*+ materialize */ x.f.bar1 AS bar1, x.f.bar2 AS bar2, x.f.bar3 AS bar3
          FROM (
            SELECT foo(p_Bar1 => 1, p_Bar2 => 2, p_Bar3 => 3) f
            FROM dual d
          ) x
        SELECT y.bar1, y.bar2, y.bar3
        FROM y
        WHERE y.bar1 = y.bar1 AND y.bar2 = y.bar2

    Another work-around is described in this thread... Accessing fields of a custom object type... which makes use of a collection type combined with the TABLE operator, like so...
    create or replace type FooTable as table of Foo;
    SELECT x.bar1 AS bar1, x.bar2 AS bar2, x.bar3 AS bar3, value(x) f
        FROM table(FooTable(
          foo(p_Bar1 => 1, p_Bar2 => 2, p_Bar3 => 3)
        )) x
        WHERE x.bar1 = x.bar1 AND x.bar2 = x.bar2
    BAR1 BAR2 BAR2 F
    1    2    3    (1, 2, 3)
    Foo Constructor Called
    Hope that helps...
    Gerard

  • Validation Event getting called multiple times

    I am saving an eform after entering a wrong percentage in it.On opening the same eform it gives the validate message "Percentage not valid" pop up .This popup should come only once but its coming around 25-26 times.I checked and find that the validate event is getting called multiple times for the same field.Can someone tell why this is happening and how to resolve this

    Hi rupali Sri,
    Our forum here is for questions related to the LiveCycle Collaboration Service product.
    You might want to post your question to the Livecycle Forms forum:
    http://forums.adobe.com/community/livecycle/livecycle_es/forms_es
    If that's not the correct forum, start from here:
    http://forums.adobe.com/index.jspa?view=overview
    Hope this helps.
    Good luck,
    Julien
    LCCS Quality Engineering

  • JDK 6:  requestPasswordAuthentication called multiple times

    Hi...
    Has anyone else noticed that 'requestPasswordAuthentication' gets called multiple times from HTTPURLConnection in JDK 6? If I create an HTTPURLConnection, and it returns successfully from 'openConnection', if I then do something simple like query for its contentType via 'getContentType', a call to my authenticator requesting password authentication is made MULTIPLE times...
    In JDK 1.5, it was only made once in the same scenario.
    Have there been changes in the recent release that would require me to make changes to my authenticator or to supply more information?
    Thanks!
    Kelly

    We had a problem with NTLM authentication in 1.5 and Java SE 6, which may be the problem that you are seeing. There were actually two bugs in the same area that were fixed, 6520665 and 6357133.
    http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6520665
    http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6357133
    Both these bugs were fixed in the following releases:
    jdk 7 b12
    jdk 6 u3 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=2148156
    jdk 5u13 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=2149272
    I know that none of these releases are available yet except for jdk7. There is an early access version available from http://download.java.net/jdk7/binaries/ . Maybe you could install it an see if it resolves your problem.

  • IPhone - Sybase RFC called multiple times

    Hi,
    I have an RFC that is adding some data in the system. This works, how ever it gets called multiple times with the same data. Every time a synchronization is done it adds a new row with all the same data. (even with 1 entry so it's not because of the loop).
    This is how my save function looks, newEntriesMBO is an array with Synchronization parameters. Should I do anything more than [sync delete]?
            for (TimeSheets_EnterTimeDataSynchronizationParameters *sync in newEntriesMBO)
                [sync save];
                while ([TimeSheets_TimeSheetsDB hasPendingOperations])
                    [NSThread sleepForTimeInterval:0.2];
                [sync delete];
    Edited by: PJ Deraedt on Sep 19, 2011 11:06 AM

    Hi
    Once the personalization parameters are set ,you should call [pp save];
    the next step would be to check for pending operations
    while (TimeSheets_TimeSheetsDB hasPendingOperations)
    NSThread sleepForTimeInterval:0.2;
    Thats it no more code. sync delete etc is all not  required. The reason why u get multiple calls is because pp save function is called multiple times.
    Thanks
    Pradeep

  • ValidateEntity getting called multiple times

    Hi,
    There is a parent EO and a child EO. There is a composite association between the parent and child.Association accessors are generated for both source and destination. In the ChildEO's doDML method , the following code is added.
    Long abc = getPArentEO().getAttr1();
    Long xyz = getPArentEO().getAttr2();
    setAttr3(abc);
    setAttr4(xyz);
    super.doDML();
    getParentEO() is the association accessor .
    After the addition of this code, all the method validators of the parent are getting fired more than once. The validateEntity of the parentEO is getting called more than once if I set some attribute of the childEO in childEO's doDML . Is this the expected behaviour?
    Thanks.

    Even on adding the setter in prepareForDML (either in parent or child) , the validateEntity is getting called multiple times. In fact ,validateEntity is getting called once before prepareForDML and again after. One of my method validators fail on the subsequent call giving an error ..Please help.

  • Listener method is called multiple times

    why is a listener method called multiple times when the user interacted
    with the component just once?

    Because you have a bug in your code.
    If you want further help post a Short, Self Contained, Compilable and Executable, Example Program ([url http://homepage1.nifty.com/algafield/sscce.html]SSCCE) that demonstrates the problem.
    And don't forget to use [url http://forum.java.sun.com/help.jspa?sec=formatting]code formatting when posting code.

  • Firefox making same GET call multiple times

    Firefox is making the same AJAX call multiple times for a single event when it should really do it once. Actually, with each single click the number of calls multiplies. I have tested the application using Chromium and Eclipse's internal browser and I have no problems.
    I removed all add-ons and started Firefox in safe-mode, but the problem persists.
    Please advise,
    Arthur Nobrega

    Hi Arthur, do you have a page available that demonstrates this problem? If so, please post a link. Perhaps your test doesn't actually need to make a network request: for example, perhaps it could add a message to the page indicating that the relevant section of code was triggered.
    Since this site focuses on end user support, you might also consider taking this question to a more developer-oriented forum such as the unofficial [http://forums.mozillazine.org/viewforum.php?f=25 mozillaZine Web Development board], or to StackExchange.

  • Generic Data Source is calling multiple times in RSA3

    [color:red}<Moderator Message: This topic has alread been discussed a lot of times. Additionally there are weblogs related to it. Please search the forums and/or the blogs for this issue>
    Hi experts,
    I have the requirement to get data from Generic Data Sources with function Module,
    after finishing the FM I have checked in extact checker(RSA)
    in the internal table I_T_DATA is displays 281 records,
    but in RSA3 it shows 112560 records, I found that the FM is calling multiple time by executing one time in RSA3.
    1.what would be the problem
    2.where is the porblem is it in FM coding or any other places to check.
    <removed by moderator>
    Regards
    Vijay
    Edited by: Siegfried Szameitat on Feb 3, 2009 11:45 AM

    Hi Savita,
    I don't understand clearly from your reply regarding flow you transported and what all you transported.
    You need to first transport objects in R/3 and import them.
    Then transport Infoprovider, Datasource in BI assuming depenedent Infoare Infoobject, application component already transported.
    Then transport your Infosource, Update rule, Transfer rules, Infopackage.
    Hope you understood.
    Ravi

  • Php include file getting called multiple times

    I have created a form in file career.php. To carry out the validation user_registration.php is called at the beginning of the file.
    user_registration.php in turn calls library.php. Issue is that library.php is getting called multiple times.
    I have attached phperror.log which confirms the same.
    career.php
    <?php
    session_start();
    require_once('phpScript/user_registration.php');
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    user_registration.php
    <?php // This file is used for validating user form data. It calls process_upload.php to validate file uploaded by user
    $errors = array();  
    $messages = array();
    $testing = TRUE;
    error_log("Enter- user_registration.php. Testing mode $testing", 0);
    try {
              error_log("user_registration.php: Entered try catch block",0);
    require_once('library.php');
              error_log("Successfully called library.php",0);
              $public_key = '6LeDsNUSAAAAAIoaYuNhGm2zx_qgBECiybUWUkt6';
              $private_key = '6LeDsNUSAAAAACuvmJrec-_5seLdmhqUMngt8AiU';
              $recaptcha = new Zend_Service_ReCaptcha($public_key, $private_key);
              if(isset($_POST['submit'])) {          // Only execute if form is submitted by user
                error_log("user_registration.php. Submit button pressed by user", 0);
                require_once('Zend/Mail.php');
                $mail = new Zend_Mail('UTF-8');
                if (isset($_POST['name'])) {
                        $val = new Zend_Validate_Regex('/^\p{L}+[-\'\p{L} ]+$/u');
                        if (!$val->isValid($_POST['name'])) {
                          $errors['name'] = "Please enter your name, no numbers permitted";
    error_log("Exit- user_registration.php.", 0);
    library.php
    <?php
    error_log("Enter- library.php. Testing mode $testing", 0);
    if ($testing)  // If true then go to testing mode
              $library = '/Applications/MAMP/htdocs/mgtools-india/ZendFramework/library';
              set_include_path(get_include_path() . PATH_SEPARATOR . $library);
    require_once('Zend/Loader/Autoloader.php');
    try {
    Zend_Loader_Autoloader::getInstance();
    error_log("Exit- library.php. Testing mode $testing", 0);
    phperror.log
    Marker - 12-Oct-2012 10:27:26 AM
    [12-Oct-2012 04:57:33 UTC] Enter- user_registration.php. Testing mode 1
    [12-Oct-2012 04:57:33 UTC] user_registration.php: Entered try catch block
    [12-Oct-2012 04:57:33 UTC] Enter- library.php. Testing mode 1
    [12-Oct-2012 04:57:33 UTC] Exit- library.php. Testing mode 1
    [12-Oct-2012 04:57:33 UTC] Successfully called library.php
    [12-Oct-2012 04:57:36 UTC] Enter- user_registration.php. Testing mode 1
    [12-Oct-2012 04:57:36 UTC] Entered try catch block
    [12-Oct-2012 04:57:36 UTC] Enter- library.php. Testing mode 1
    [12-Oct-2012 04:57:36 UTC] Exit- library.php. Testing mode 1
    [12-Oct-2012 04:57:36 UTC] Successfully called library.php
    [12-Oct-2012 04:58:38 UTC] Enter- user_registration.php. Testing mode 1
    [12-Oct-2012 04:58:38 UTC] Entered try catch block
    [12-Oct-2012 04:58:38 UTC] Enter- library.php. Testing mode 1
    [12-Oct-2012 04:58:38 UTC] Exit- library.php. Testing mode 1
    [12-Oct-2012 04:58:38 UTC] Successfully called library.php
    [12-Oct-2012 04:58:38 UTC] user_registration.php. Submit button pressed by user
    [12-Oct-2012 04:58:39 UTC] user_registration.php, Processing enquiry form
    [12-Oct-2012 04:58:39 UTC] Enter- process_upload.php. Testing mode 1
    [12-Oct-2012 04:59:01 UTC] Exit- user_registration.php.
    I am not able to understand why user_registration.php and library.php are executing again and again.
    I ran this test on local testing server MAMP.
    The results are the same on remote server also.
    Please guide.

    I'm not sure what's happening there. The important question is whether the code is executed successfully.
    Since you're using the Zend Framework, it might be better to ask in a dedicated ZF forum.

  • ADF Faces Tree - getChildren() called multiple times

    Hi,
    I have a simple tree based on the demo's 'tree.jspx'. Each time I click on a node in this tree, I see that TreeNodeImpl.getChildren() gets called multiple times for each node. This is not an issue in tree.jspx where the tree is static. However in a case where tree is constructed dynamically based on the back end state, it is going to hurt performance. Each getChildren() call then invokes backend methods which could be remote. So multiple getChildren() will invoke backend methods multiple times.
    Is this behavior of calling getChildren() multiple times per node a bug? Is there any way for me to avoid it?

    this is expected behaviour.
    Your tree model should cache data and prevent the multiple calls to the back end.

  • Custom tag library called multiple times

    Hi ppl ,
    I have a custom tag library which i use to populate some menu components. When i do call my custom tag library though , it is called multiple times, use case is as follows.
    I have menu tabs and menu bars which thanks to Mr.Brenden is working splendidly as so:-
    <af:menuTabs>
    <af:forEach var="menuTab" items="#{bindings.menu.vwUserMenuTabRenderer.rangeSet}">
    <af:commandMenuItem text="#{menuTab.MenuLabel}"
    shortDesc="#{menuTab.MenuHint}"
    rendered="true"
    immediate="true"
    selected="#{sessionScope.selectedMenuId == menuTab.MenuId }"
    onclick="fnSetSelectedValue('#{menuTab.MenuId}')" >
    </af:commandMenuItem>
    </af:forEach>
    </af:menuTabs>
    <af:menuBar>
    <af:forEach var="menuBar" items="#{bindings.menu.vwUserMenuBarRenderer.rangeSet}">
    <af:commandMenuItem onclick="return clickreturnvalue()"
    onmouseover="dropdownmenu(this, event,#{menuBar.MenuId}, '150px')"
    onmouseout="delayhidemenu()"
    text="#{menuBar.MenuLabel}"
    action="#{menuBar.MenuUri}"
    rendered="#{menuBar.ParentId == sessionScope.selectedMenuId}"
    immediate="true" />
    </af:forEach>
    </af:menuBar>
    </afc:cache>
    now all of this code is within a subview , and just directly below the subview tag , i have the call to my custom tag library:-
    <myCustomTagLib:menuCascade />
    only issue now is that assuming i have in all 7 menu bar components, the doStartTag is called 7 times. the relevant code within my custom tag class is as follows :-
    public int doStartTag() throws JspException {
    return (EVAL_BODY_INCLUDE);
    public int doEndTag() throws JspException {
    try {
    declareVariables();
    return EVAL_PAGE;
    }catch (Exception ioe) {
    throw new JspException(ioe.getMessage());
    and within my declareVariables method i do an out of the jscript ( out.print(jscript.toString()); ) which is a simple string generated based on certain conditions...
    now it seems to be working fine on the front end , but when i view the source of the page, i notice that the declaration is called multiple times, and this happens because the doStartTag method is called multiple times, i haven't even nested the call to the custom tag within the menu components , any clue as to whats going wrong ?
    Cheers
    K

    Hi,
    if you add the following print statement
    System.out.println("rendering "+FacesContext.getCurrentInstance().getViewRoot().getViewId());
    Then the output in my case is
    07/04/24 08:14:04 rendering /BrowsePage.jsp
    07/04/24 08:14:05 rendering /otn_logo_small.gif
    The image comes from the file system, which means it is rendered by the JSF lifecycle. If you reference the image with a URL then the lifecycle doesn't render the image but only refrences it.
    To avoid your prepare render code to be executed multiple times, just check for jsp and jspx file extensions, which will guarantee that your code only executes for JSF pages, not for loaded files.
    The reason why this happens is because the JSF filter is set to /faces , which means all files that are loaded through that path
    Frank

Maybe you are looking for