Beehive
  1. Beehive
  2. BEEHIVE-1028

Controls in pageflows do not appear to be receiving lifecycle events in the proper order

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.0, 1.0.1
    • Fix Version/s: 1.0.1
    • Component/s: NetUI
    • Labels:
      None

      Description

      So I have a small webapp which basically consists of a pageflow and a jdbc control. The single jsp in the web app invokes an action in the page flow as:

      <tr><td><img src="doRenderChart.do?versionName=9.2Beta&projectName=Workshop&componentName=W-IDE&JFWidth=500&JFHeight=300" border="0"/></td></tr>

      It does this 10 or 11 times to build a table which contains images generated by the action using the jdbc control to retrieve data from a database. Typically (although not always) at least one of the images will not be generated due to an SQL Error throw by the jdbc control. The error is that the SQLConnection has been closed.

      Here is a portion of the tomcat log, I've added some debugging statements in the ControlContainerContext class to help me see what was going on, the doRenderChart() is the page flow action being called by the jsp. It appears the control's begin and end events are not fired in the right order, causing (in some instances) the control to be unititialzed before a call has been completed.

      log4j:WARN Please initialize the log4j system properly.
      BEGIN_CONTEXT: THREAD ID = 34
      END_CONTEXT: THREAD ID = 34
      BEGIN_CONTEXT: THREAD ID = 34

            • Enter: doRenderChart() ****
              calling version=9.2Beta project=Workshop component=null
              BEGIN_CONTEXT: THREAD ID = 35
            • Leave: doRenderChart() ****
            • Enter: doRenderChart() ****
              calling version=9.2Beta project=Workshop component=W-IDE
              BEGIN_CONTEXT: THREAD ID = 34
            • Leave: doRenderChart() ****
              END_CONTEXT: THREAD ID = 34
              BEGIN_CONTEXT: THREAD ID = 35
              END_CONTEXT: THREAD ID = 34
              BEGIN_CONTEXT: THREAD ID = 34
            • Enter: doRenderChart() ****
              calling version=9.2Beta project=Workshop component=W-Docs
            • Leave: doRenderChart() ****
              END_CONTEXT: THREAD ID = 35
              END_CONTEXT: THREAD ID = 35
              BEGIN_CONTEXT: THREAD ID = 35
              BEGIN_CONTEXT: THREAD ID = 34
              END_CONTEXT: THREAD ID = 34
              END_CONTEXT: THREAD ID = 34
            • Enter: doRenderChart() ****
              calling version=9.2Beta project=Workshop component=W-IDECore
              BEGIN_CONTEXT: THREAD ID = 34
            • Leave: doRenderChart() ****
            • Enter: doRenderChart() ****
              calling version=9.2Beta project=Workshop component=W-External
              BEGIN_CONTEXT: THREAD ID = 35
            • Leave: doRenderChart() ****
              END_CONTEXT: THREAD ID = 35
              BEGIN_CONTEXT: THREAD ID = 34
              END_CONTEXT: THREAD ID = 34
              END_CONTEXT: THREAD ID = 34
              END_CONTEXT: THREAD ID = 35
              BEGIN_CONTEXT: THREAD ID = 35
            • Enter: doRenderChart() ****
              calling version=9.2Beta project=Workshop component=W-Project
              BEGIN_CONTEXT: THREAD ID = 34
            • Leave: doRenderChart() ****
            • Enter: doRenderChart() ****
              calling version=9.2Beta project=Workshop component=W-Javelin
              BEGIN_CONTEXT: THREAD ID = 35
            • Leave: doRenderChart() ****
              END_CONTEXT: THREAD ID = 35
              END_CONTEXT: THREAD ID = 35
              BEGIN_CONTEXT: THREAD ID = 35
              BEGIN_CONTEXT: THREAD ID = 34
              END_CONTEXT: THREAD ID = 34
              END_CONTEXT: THREAD ID = 34
            • Enter: doRenderChart() ****
              calling version=9.2Beta project=Workshop component=W-RuntimeControls
              BEGIN_CONTEXT: THREAD ID = 34
            • Leave: doRenderChart() ****
            • Enter: doRenderChart() ****
              calling version=9.2Beta project=Workshop component=W-RuntimeNetUI
              BEGIN_CONTEXT: THREAD ID = 35
            • Leave: doRenderChart() ****
              END_CONTEXT: THREAD ID = 35
              END_CONTEXT: THREAD ID = 35
              BEGIN_CONTEXT: THREAD ID = 35
            • Enter: doRenderChart() ****
              calling version=9.2Beta project=Workshop component=W-Upgrade
              BEGIN_CONTEXT: THREAD ID = 34
            • Leave: doRenderChart() ****
              END_CONTEXT: THREAD ID = 34
              BEGIN_CONTEXT: THREAD ID = 35
              END_CONTEXT: THREAD ID = 34
              END_CONTEXT: THREAD ID = 35
              END_CONTEXT: THREAD ID = 35
              BEGIN_CONTEXT: THREAD ID = 33
              END_CONTEXT: THREAD ID = 33
              BEGIN_CONTEXT: THREAD ID = 33
            • Enter: doRenderChart() ****
              calling version=9.2Beta project=Workshop component=null
            • Leave: doRenderChart() ****
              BEGIN_CONTEXT: THREAD ID = 33
              END_CONTEXT: THREAD ID = 33
              END_CONTEXT: THREAD ID = 33
              BEGIN_CONTEXT: THREAD ID = 33
            • Enter: doRenderChart() ****
              calling version=9.2Beta project=Workshop component=W-Docs
              BEGIN_CONTEXT: THREAD ID = 34
            • Leave: doRenderChart() ****
            • Enter: doRenderChart() ****
              calling version=9.2Beta project=Workshop component=W-IDE
              BEGIN_CONTEXT: THREAD ID = 33
            • Leave: doRenderChart() ****
              END_CONTEXT: THREAD ID = 33
              END_CONTEXT: THREAD ID = 33
              BEGIN_CONTEXT: THREAD ID = 34
              BEGIN_CONTEXT: THREAD ID = 33
            • Enter: doRenderChart() ****
              calling version=9.2Beta project=Workshop component=W-External
            • Leave: doRenderChart() ****
              BEGIN_CONTEXT: THREAD ID = 33
              END_CONTEXT: THREAD ID = 34
              END_CONTEXT: THREAD ID = 34
              BEGIN_CONTEXT: THREAD ID = 34
              END_CONTEXT: THREAD ID = 33
              END_CONTEXT: THREAD ID = 33
              BEGIN_CONTEXT: THREAD ID = 33
            • Enter: doRenderChart() ****
              calling version=9.2Beta project=Workshop component=W-IDECore
            • Leave: doRenderChart() ****
            • Enter: doRenderChart() ****
              calling version=9.2Beta project=Workshop component=W-Project
              BEGIN_CONTEXT: THREAD ID = 34
            • Leave: doRenderChart() ****
              END_CONTEXT: THREAD ID = 34
              END_CONTEXT: THREAD ID = 34
              BEGIN_CONTEXT: THREAD ID = 34
            • Enter: doRenderChart() ****
              BEGIN_CONTEXT: THREAD ID = 33
              calling version=9.2Beta project=Workshop component=W-Javelin
            • Leave: doRenderChart() ****
              END_CONTEXT: THREAD ID = 33
              END_CONTEXT: THREAD ID = 33
              BEGIN_CONTEXT: THREAD ID = 33
              BEGIN_CONTEXT: THREAD ID = 34
            • Enter: doRenderChart() ****
              calling version=9.2Beta project=Workshop component=W-RuntimeControls
            • Leave: doRenderChart() ****
              END_CONTEXT: THREAD ID = 34
              END_CONTEXT: THREAD ID = 34
              BEGIN_CONTEXT: THREAD ID = 34
              BEGIN_CONTEXT: THREAD ID = 33
              END_CONTEXT: THREAD ID = 33
              END_CONTEXT: THREAD ID = 33
              BEGIN_CONTEXT: THREAD ID = 33
            • Enter: doRenderChart() ****
              calling version=9.2Beta project=Workshop component=W-RuntimeNetUI
            • Leave: doRenderChart() ****
            • Enter: doRenderChart() ****
              calling version=9.2Beta project=Workshop component=W-Upgrade
              BEGIN_CONTEXT: THREAD ID = 34
            • Leave: doRenderChart() ****
              END_CONTEXT: THREAD ID = 34
              END_CONTEXT: THREAD ID = 34
              BEGIN_CONTEXT: THREAD ID = 33
              END_CONTEXT: THREAD ID = 33
              END_CONTEXT: THREAD ID = 33
              BEGIN_CONTEXT: THREAD ID = 34
              END_CONTEXT: THREAD ID = 34
              Listening for transport dt_shmem at address: jdbconn
              BEGIN_CONTEXT: THREAD ID = 34
            • Enter: doRenderChart() ****
              calling version=9.2Beta project=Workshop component=null
            • Leave: doRenderChart() ****
              BEGIN_CONTEXT: THREAD ID = 34
              END_CONTEXT: THREAD ID = 34
              END_CONTEXT: THREAD ID = 34
              BEGIN_CONTEXT: THREAD ID = 34
            • Enter: doRenderChart() ****
              calling version=9.2Beta project=Workshop component=W-Docs
            • Leave: doRenderChart() ****
              BEGIN_CONTEXT: THREAD ID = 34
              END_CONTEXT: THREAD ID = 34
              END_CONTEXT: THREAD ID = 34
              BEGIN_CONTEXT: THREAD ID = 35
              BEGIN_CONTEXT: THREAD ID = 34
            • Enter: doRenderChart() ****
              calling version=9.2Beta project=Workshop component=W-External
            • Leave: doRenderChart() ****
            • Enter: doRenderChart() ****
              calling version=9.2Beta project=Workshop component=W-IDE
              BEGIN_CONTEXT: THREAD ID = 34
            • Leave: doRenderChart() ****
              END_CONTEXT: THREAD ID = 34
              END_CONTEXT: THREAD ID = 34
              BEGIN_CONTEXT: THREAD ID = 35
              BEGIN_CONTEXT: THREAD ID = 34
            • Enter: doRenderChart() ****
              calling version=9.2Beta project=Workshop component=W-IDECore
            • Leave: doRenderChart() ****
              BEGIN_CONTEXT: THREAD ID = 34
              END_CONTEXT: THREAD ID = 35
              END_CONTEXT: THREAD ID = 35
              BEGIN_CONTEXT: THREAD ID = 35
              END_CONTEXT: THREAD ID = 34
              END_CONTEXT: THREAD ID = 34
            • Enter: doRenderChart() ****
              BEGIN_CONTEXT: THREAD ID = 34
              calling version=9.2Beta project=Workshop component=W-Project
            • Leave: doRenderChart() ****
            • Enter: doRenderChart() ****
              calling version=9.2Beta project=Workshop component=W-Javelin
              BEGIN_CONTEXT: THREAD ID = 35
            • Leave: doRenderChart() ****
              BEGIN_CONTEXT: THREAD ID = 34
              END_CONTEXT: THREAD ID = 35
              END_CONTEXT: THREAD ID = 34
              END_CONTEXT: THREAD ID = 34
              END_CONTEXT: THREAD ID = 35
              BEGIN_CONTEXT: THREAD ID = 35
            • Enter: doRenderChart() ****
              calling version=9.2Beta project=Workshop component=W-RuntimeControls
              BEGIN_CONTEXT: THREAD ID = 34
            • Leave: doRenderChart() ****
            • Enter: doRenderChart() ****
              calling version=9.2Beta project=Workshop component=W-RuntimeNetUI
              BEGIN_CONTEXT: THREAD ID = 35
            • Leave: doRenderChart() ****
              END_CONTEXT: THREAD ID = 35
              BEGIN_CONTEXT: THREAD ID = 34
              END_CONTEXT: THREAD ID = 35
              BEGIN_CONTEXT: THREAD ID = 35
            • Enter: doRenderChart() ****
              calling version=9.2Beta project=Workshop component=W-Upgrade
            • Leave: doRenderChart() ****
              BEGIN_CONTEXT: THREAD ID = 35
              END_CONTEXT: THREAD ID = 35
              END_CONTEXT: THREAD ID = 35
              END_CONTEXT: THREAD ID = 34
              END_CONTEXT: THREAD ID = 34
      1. beehive1028.zip
        3.16 MB
        Chad Schoettger
      2. jira1028Simplified.zip
        10 kB
        Rich Feit

        Activity

        Yongqin Xu made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Alejandro Ramirez made changes -
        Assignee Chad Schoettger [ chad_s ] Yongqin Xu [ yongqxu ]
        Daryl Olander made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Daryl Olander made changes -
        Fix Version/s 1.0.1 [ 12310717 ]
        Rich Feit made changes -
        Attachment jira1028Simplified.zip [ 12321355 ]
        Rich Feit made changes -
        Assignee Rich Feit [ rich ] Chad Schoettger [ chad_s ]
        Chad Schoettger made changes -
        Assignee Chad Schoettger [ chad_s ] Rich Feit [ rich ]
        Eddie O'Neil made changes -
        Affects Version/s 1.1 [ 12310333 ]
        Chad Schoettger made changes -
        Attachment beehive1028.zip [ 12321296 ]
        Chad Schoettger made changes -
        Field Original Value New Value
        Summary Controls in pageflows do not appear to be recieving lifecycle events in the proper order Controls in pageflows do not appear to be receiving lifecycle events in the proper order
        Chad Schoettger created issue -

          People

          • Assignee:
            Yongqin Xu
            Reporter:
            Chad Schoettger
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development