Situation: a form has a button with CALL_FORM(NO_HIDE) to call another Form, user then navigates away from the page and returns to an OraFormsFaces page causing the applet to be recycled.
Since the first form is also visible it appears that the windowActivated event for this calling form is called before the windowRemoved event is called for all windows of the called form. This makes OraFormsFaces believe the exit-form has failed and recycling is aborted.
See private forum thread for more info:
http://forum.commit-consulting.com/viewtopic.php?f=7&t=164
Relevant snippet of console:
network: Connecting
http://localhost:8889/forms/lservlet;jsessionid=0e211e535032ac0229ac845e1306ce62b92f001981df6bfac9ffcaae350de0d3 with proxy=DIRECT
OraFormsFaces0: 2010-08-20T14:37:25.593-0400 FormTracker: removing window "76" from form "form2" [Forms-StreamMessageReader]
OraFormsFaces0: 2010-08-20T14:37:25.593-0400 FormTracker: removing window "80" from form "form2" [Forms-StreamMessageReader]
OraFormsFaces0: 2010-08-20T14:37:25.593-0400 FormTracker: removing now empty form "form2" [Forms-StreamMessageReader]
OraFormsFaces0: 2010-08-20T14:37:25.593-0400 removing CommunicatorBean com.commit_consulting.oraformsfaces.extension.CommunicatorBean[CommunicatorBean9,0,0,1x1,invalid,layout=java.awt.BorderLayout, oracle.forms.ui.OracleBorderPainter@fa54fe] [AWT-EventQueue-2]
OraFormsFaces0: 2010-08-20T14:37:25.593-0400 removing bean CommunicatorBean9, form form2 from the registry [AWT-EventQueue-2]
OraFormsFaces0: 2010-08-20T14:37:25.593-0400 before removing window oracle.forms.ui.ExtendedFrame ExtendedFrame7 OraFormsFaces [AWT-EventQueue-2]
OraFormsFaces0: 2010-08-20T14:37:25.593-0400 RecycleManager: window ExtendedFrame5/MAIN_WINDOW activated during applet recycle [AWT-EventQueue-2]
java.lang.IllegalStateException: Form did not close in response to when-applet-activated event
at com.commit_consulting.oraformsfaces.extension.RecycleManager.windowActivated(RecycleManager.java:327)
at com.commit_consulting.oraformsfaces.extension.RecycleManager$5.propertyChange(RecycleManager.java:288)
at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
at oracle.ewt.lwAWT.lwWindow.LWWindow.fireBooleanPropertyChanged(Unknown Source)
at oracle.ewt.lwAWT.lwWindow.LWWindow.setActive(Unknown Source)
at oracle.ewt.lwAWT.lwWindow.laf.BaseWindowManager.transferActivationForward(Unknown Source)
at oracle.ewt.lwAWT.lwWindow.laf.BaseWindowManager.windowRemoved(Unknown Source)
at oracle.ewt.lwAWT.lwWindow.DesktopContainer.processDesktopEvent(Unknown Source)
at oracle.ewt.lwAWT.lwWindow.DesktopContainer.processEventImpl(Unknown Source)
at oracle.ewt.lwAWT.LWComponent.redispatchEvent(Unknown Source)
at oracle.ewt.lwAWT.LWComponent.processEvent(Unknown Source)
at oracle.ewt.lwAWT.lwWindow.DesktopContainer.removeWindow(Unknown Source)
at oracle.ewt.lwAWT.lwWindow.LWWindow.close(Unknown Source)
at oracle.ewt.lwAWT.lwWindow.LWWindow.dispose(Unknown Source)
at oracle.forms.handler.FormWindow.onDestroy(Unknown Source)
at oracle.forms.engine.Runform.onDestroyHandler(Unknown Source)
at oracle.forms.engine.Runform.processMessage(Unknown Source)
at oracle.forms.engine.Runform.processSet(Unknown Source)
at oracle.forms.engine.Runform.onMessageReal(Unknown Source)
at oracle.forms.engine.Runform.onMessage(Unknown Source)
at oracle.forms.handler.JavaContainer.customActionPerformed(Unknown Source)
at oracle.forms.ui.BeanManager.dispatchCustomEvent(Unknown Source)
at oracle.forms.ui.VBean.dispatchCustomEvent(Unknown Source)
at com.commit_consulting.oraformsfaces.extension.CommunicatorBean.sendMessageToForms(CommunicatorBean.java:250)
at com.commit_consulting.oraformsfaces.extension.FormsAppletExtendedJS.raiseEvent(FormsAppletExtendedJS.java:63)
at com.commit_consulting.oraformsfaces.extension.FormsAppletExtendedJS.raiseEvent(FormsAppletExtendedJS.java:75)
at com.commit_consulting.oraformsfaces.extension.RecycleManager$4.run(RecycleManager.java:231)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
OraFormsFaces0: 2010-08-20T14:37:25.609-0400 RecycleManager: aborting recycling since no more forms should close [AWT-EventQueue-2]
OraFormsFaces0: 2010-08-20T14:37:25.609-0400 before removing window oracle.forms.ui.ExtendedFrame ExtendedFrame8 MAIN_WINDOW [AWT-EventQueue-2]
OraFormsFaces0: 2010-08-20T14:37:25.609-0400 setting bean property "ENABLED" to "true" [AWT-EventQueue-2]
network: Connecting
http://localhost:8889/forms/lservlet;jsessionid=0e211e535032ac0229ac845e1306ce62b92f001981df6bfac9ffcaae350de0d3 with proxy=DIRECT