BackingBean scope

Hello   ADF experts, can you please  clarify my  question.   I have read in some blog   saying  in backingBean scoped bean,  the fields  should be marked as transient.       If the bean  is in  backingBean scope, should we still make the fields  transient ?   BackingBean scoped bean and requestScoped beans need not be seartilized and hence  I do not find any point in making the fields transient !!   Anyway we do not implement Serializable inerface and why is it need to make the fields transient ?
thanks

The Jdev version can make a difference, if you use Jdev 9.0.3. In your case, no, it doesn't make a difference.
Ok, let's think about the problem. A bean in backing bean or request scope will not be serialized so they don't need to implement this interface. On the other side I don't see a disadvantage in doing so nonetheless. If you bind a component to a bean, regardless of the scope, this variable can't be serialized as ui components are not serializable. In a cluster environment this will cause errors. However, if you set the variable to transient the bean can be serialized but after reading it back the info you had is no longer there.
Eugene Fedorenko blogged about this here ADF Practice: Managed Bean Scopes for Component Binding and mentioned a solution available for Jdev versions 11.1.1.4.0.
Summary: I don't see a reason to mark attributes transient. A problem I see doing this is that the bean don't know which scope it's used in. This decision is made when you use the bean in a task flow. Think about what happens if you decide that the bean is used in view score for one task flow. This will crash the application in production under heavy load as the bean would brr serialized empty. From this point of view you should always implement the serializable interface.
Timo

Similar Messages

  • JSFF BackingBean scope

    Hello!
    I have a page composed of a region and jsff
    according to this doc; http://docs.oracle.com/cd/E12839_01/web.1111/b31974/web_getstarted.htm#BABBHGJA
    any backing beans for page fragments or declarative components should use BackingBean scope
    The backingbean's constructed is executed everytime thus resets my variables, How can I make it sessionscoped?
    I tried regisitering session scoped using annotations
    @ManagedBean
    @SessionScoped
    adf-config.xml
    faces-config.xml
    in the taskflow definition file
    everything! but the constructor is called multiple times
    thanks in advance please help!

    Let me get this straight, I am trying to understand
    Should I have two Beans per jsff? (If I need to carry state) one backingbean for the components (gettters/setters) and the other a session or pageflowscoped bean where I keep the state of my variables such as lists, strings, etc?
    and from the backingbean access those variables?
    Do you have a simple example you can show me? I was checking the blog Timo Hahn provided, I need an example, please!
    I created my session scoped bean and assign it to the backing bean ( that I already have) How should I access programatically from my backingbean a variable that is in a session scoped bean?
    and in my adfc-config.xml I have this
      <managed-bean id="__21">
        <managed-bean-name>beanSessionRegistrarGuia</managed-bean-name>
        <managed-bean-class>siat.view.backing.transporte.guia.SessionScopedBeanRegistrarGuia</managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>
      </managed-bean>
    <managed-bean id="__15">
        <managed-bean-name>backing_transporte_guia_frm_registrar_guia</managed-bean-name>
        <managed-bean-class>siat.view.backing.transporte.guia.Frm_registrar_guia</managed-bean-class>
        <managed-bean-scope>backingBean</managed-bean-scope>
        <!--oracle-jdev-comment:managed-bean-jsp-link:1transporte/guia/frm_registrar_guia.jsff-->
        <managed-property id="__22">
          <property-name>beanSessionRegistrarGuia</property-name>
          <property-class>siat.view.backing.transporte.guia.SessionScopedBeanRegistrarGuia</property-class>
          <value>#{beanSessionRegistrarGuia}</value>
        </managed-property>
      </managed-bean>According to the blog
    private UIManager _uiManager;
    //Which should be exposed via a getter and setter pair with names that match the managed property name (e.g. setUiManager(UIManager _uiManager), getUiManager()). In my backing bean I do this
    private SessionScopedBeanRegistrarGuia sessBean;//+gettter and setterIn my SessionScoped Bean I have this
        public SessionScopedBeanRegistrarGuia(){
            System.out.println("I AM SESSION SCOPED BEAN");
        }This SOP is called but then I get error:
    <RichExceptionHandler> <_logUnhandledException> ADF_FACES-60098:El ciclo de vida de Faces recibe excepciones no tratadas en la fase RENDER_RESPONSE 6
    javax.faces.FacesException: javax.faces.FacesException: oracle.adf.controller.ControllerException: ADFC-10004: no se puede definir la propiedad de bean gestionado 'beanSessionRegistrarGuia'
         at com.sun.faces.application.ApplicationImpl.createComponentApplyAnnotations(ApplicationImpl.java:1900)
         at com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:1109)
         at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.createComponent(ComponentTagHandlerDelegateImpl.java:511)
         at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:157)
    ....MORE ERRORSEdited by: diego10 on 22-may-2013 8:21

  • BackingBean Scope issue.

    Hi,
    I am using JdEV 11.1.1.2.0. I have an ADF table on the page with 100 records and rangsize is set to 25.
    On the page i have one button to get the selected row and call the procedure.
    If I select a 50th record in 100 records and click on button, I am getting the following added exception in the server log. But this issue is not reproducing if I select a record with in rangesize i.e. 25.
    These are my viewObject Tuning properties:
    All rows.
    Fill Last Page of rows when paging throw Rowset.
    Passivate State
    Access Mode: Scrollable.
    Please help me to fix this issue.
    Server Log:
    <UIXPageTemplate><tearDownVisitingContext> Tear down of page template context failed due to an unhandled exception.
    java.util.NoSuchElementException
         at java.util.ArrayDeque.removeFirst(ArrayDeque.java:251)
         at java.util.ArrayDeque.pop(ArrayDeque.java:480)
         at oracle.adfinternal.view.faces.context.ApplicationContextManagerImpl.popContextChange(ApplicationContextManagerImpl.java:66)
         at oracle.adf.view.rich.component.fragment.UIXPageTemplate.tearDownVisitingContext(UIXPageTemplate.java:242)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.encodeEnd(ContextSwitchingComponent.java:157)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:415)
         at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:2572)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:432)
         at oracle.adfinternal.view.faces.renderkit.rich.FormRenderer.encodeAll(FormRenderer.java:221)
         at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1369)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:751)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:415)
         at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:2572)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:432)
    <Dec 21, 2009 3:58:35 PM MST> <Error> <HTTP> <BEA-101020> <[ServletContext@4711920[app:ESPSApp module:ESPSApp-ViewController-context-root path:/ESPSApp-ViewController-context-root spec-version:2.5 version:V2.0]] Servlet failed with Exception
    java.lang.NullPointerException
         at oracle.adfinternal.view.faces.model.binding.RowDataManager.getRowIndex(RowDataManager.java:189)
         at oracle.adfinternal.view.faces.model.binding.FacesCtrlHierBinding$FacesModel.getRowIndex(FacesCtrlHierBinding.java:596)
         at org.apache.myfaces.trinidad.component.UIXIterator._fixupFirst(UIXIterator.java:414)
         at org.apache.myfaces.trinidad.component.UIXIterator.__encodeBegin(UIXIterator.java:392)
         at org.apache.myfaces.trinidad.component.UIXTable.__encodeBegin(UIXTable.java:168)
         Truncated. see log file for complete stacktrace
    >
    <Dec 21, 2009 3:58:35 PM MST> <Notice> <Diagnostics> <BEA-320068> <Watch 'UncheckedException' with severity 'Notice' on server 'DefaultServer' has triggered at Dec 21, 2009 3:58:35 PM MST. Notification details:
    WatchRuleType: Log
    WatchRule: (SEVERITY = 'Error') AND ((MSGID = 'BEA-101020') OR (MSGID = 'BEA-101017') OR (MSGID = 'BEA-000802'))
    WatchData: DATE = Dec 21, 2009 3:58:35 PM MST SERVER = DefaultServer MESSAGE = [ServletContext@4711920[app:ESPSApp module:ESPSApp-ViewController-context-root path:/ESPSApp-ViewController-context-root spec-version:2.5 version:V2.0]] Servlet failed with Exception
    java.lang.NullPointerException
         at oracle.adfinternal.view.faces.model.binding.RowDataManager.getRowIndex(RowDataManager.java:189)
         at oracle.adfinternal.view.faces.model.binding.FacesCtrlHierBinding$FacesModel.getRowIndex(FacesCtrlHierBinding.java:596)
         at org.apache.myfaces.trinidad.component.UIXIterator._fixupFirst(UIXIterator.java:414)
         at org.apache.myfaces.trinidad.component.UIXIterator.__encodeBegin(UIXIterator.java:392)
         at org.apache.myfaces.trinidad.component.UIXTable.__encodeBegin(UIXTable.java:168)
         at org.apache.myfaces.trinidad.component.UIXCollection.encodeBegin(UIXCollection.java:517)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:399)
         at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:2572)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:432)
    Thanks.

    Hi,
    Thanks for your reply.. Please find the source code:
    Table Code:
    <af:table value="#{bindings.CmProcessView35.collectionModel}"
    var="row"
    rows="#{bindings.CmProcessView35.rangeSize}"
    emptyText="#{bindings.CmProcessView35.viewable ? 'No data to display.' : 'Access Denied.'}"
    fetchSize="#{bindings.CmProcessView35.rangeSize}"
    rowBandingInterval="0"
    selectedRowKeys="#{bindings.CmProcessView35.collectionModel.selectedRow}"
    selectionListener="#{bindings.CmProcessView35.collectionModel.makeCurrent}"
    rowSelection="single"
    binding="#{backingBeanScope.backing_app_RunCalcPage.t4}"
    id="t4" inlineStyle="height:400px;" width="510" partialTriggers="::q1">
    <af:column sortProperty="ProcessType" sortable="true"
    headerText="#{bindings.CmProcessView35.hints.ProcessType.label}"
    id="c19">
    <af:outputText value="#{row.ProcessType}" id="ot19"/>
    </af:column>
    <af:column sortProperty="Description" sortable="true"
    headerText="#{bindings.CmProcessView35.hints.Description.label}"
    id="c17" width="300">
    <af:outputText value="#{row.Description}" id="ot8"/>
    </af:column>
    <af:column sortProperty="ArgumentsFlag" sortable="true"
    headerText="P - Flag"
    id="c18" width="70">
    <af:outputText value="#{row.ArgumentsFlag}" id="ot20"/>
    </af:column>
    </af:table>
    Page Def Code:
    <iterator Binds="CmProcessView3" RangeSize="25"
    DataControl="ESPSAppModuleDataControl"
    id="CmProcessView3Iterator"/>
    BackingBean Code:
    RowKeySet rowKeySet = (RowKeySet)this.t4.getSelectedRowKeys();
    CollectionModel cm = (CollectionModel)this.t4.getValue();
    String process = null;
    for (Object facesTreeRowKey : rowKeySet) {
    cm.setRowKey(facesTreeRowKey);
    JUCtrlHierNodeBinding rowData =
    (JUCtrlHierNodeBinding)cm.getRowData();
    process = rowData.getAttribute(0).toString();
    if (process != null) {
    System.out.println("activeFlag is : " + activeFlag);
    if(activeFlag.equals("N")){
    ---------- Perform some operations...
    }else{                   
    sendMessage("Process Selection is Invalid.", FacesMessage.SEVERITY_ERROR);
    }else{               
    sendMessage("Please select a process to submit the job.", FacesMessage.SEVERITY_ERROR);
    Thanks.

  • Difference Between BackingBean Scope and Request Scope in Manged Beans

    Hi,
    This is going to sound really silly, me asking this question after working for over 6 months in ADF, but could anybody please give me some differences between backing bean scope and request scope. I've looked at the official Oracle documentation, and I'd be really grateful if anybody could please dumb it down a bit for me.-:)
    Thanks,
    Debojit

    If you make a declarative component and put it on a page more than once.
    Just like you can put multiple instances of the af:inputText component on a page, you can put multiple instances of declarative components on a page.

  • PageFragments BackingBean scope table binding issue

    Hi,
    We have an ADF table (with id resultTable) in a page fragment and we have a binding for it in backingBeanScope. A page can have multiple page fragments embedded as regions and popups. All of these pageFragments have ADF table with the same id (resultsTable). We observed that when we bind these tables to backingBeanScope, the table columns are getting jumbled. We are seeing few columns of one table appear in other.
    When we change the binding to pageFlowScope, every thing seem to work fine.
    binding="#{pageFlowScope.ResultsBean.resultsTable}"> --- This is working fine
    binding="#{backingBeanScope.resultsTable}"> --- Columns are getting jumbled with this
    We are not able to figure out why this is happening. Is it because we are using the same resultsTable variable in backingBeanScope for all tables in all page fragments and popups? Any help is highly appreciated.
    Thanks,

    Hi,
    you need to let us know how you integrate the page fragments to the page. Are you using ADF Regions? Which Oracle JDeveloper version do you use ?
    Note that the difference between the two options of yours
    binding="#{pageFlowScope.ResultsBean.resultsTable}"> --- This is working fine
    binding="#{backingBeanScope.resultsTable}"> --- Columns are getting jumbled with this
    is that using the pageFlowScope, all tables use the same data instance. Also, why is #{backingBeanScope.resultsTable} not #{backingBeanScope.ResultsBean.resultsTable} ?
    Frank

  • Template UI Logic and backingbean

    Hi,
    I'm new to adf and i'm trying to build a sample project with jDevelopper 11.1.2.1.0 for my company to know if we can switch to it.
    I've go a use case to implement but i've got some issues to understand how i can do it.
    I must create a view with :
    1) a top zone with a toolbar (and other stuff)
    2) a center zone with a panel tabbed
    2.a) In the first tab, a bounded table with some columns
    2.b) In the second tab a splitter
    2.b.i ) In the first facet of the splitter a second bounded table with some other columns (but linked to the same iterator)
    2.b.ii) In the second facet of the splitter a form (to edit the data)
    3) a bottom zone with a statut toolbar.
    I've created my toolbar with a declarative component following the adf corner [079. Strategy for implementing global buttons in a page template|http://www.oracle.com/technetwork/developer-tools/adf/learnmore/79-global-template-button-strategy-360139.pdf], my toolbar have 5 buttons (create, edit, save, cancel and delete).
    I then created a template for placing panel, and table splitter ui components with a backingbean used for binding the ui components (in backingbean scope, its' important cause the template could be on the same page with nested template tag)
    I've created a taskflow following the adf corner [007.How to cancel an edit form, undoing changes with ADFm savepoints|http://www.oracle.com/technetwork/developer-tools/adf/learnmore/007-cancelform-savepoint-169126.pdf] for the edit form
    I created a page that inherits my template, placed the declarative component toolbar at the top, placed the two bounded datatable in the facets of the template, and finally created a normal region calling the taskflow.
    When i click on the create button, the template backing bean receive the "event" and handle it, changing a task flow parameter.... (updating the region)
    My taskflow update and show me the create form... no problem....
    But if the user is on the first tab, he sees nothing. So i would like to change the disclosed property of the showDetailItems of the panelTabbed.
    I then created a variable in the pageDef of the template that would store a boolean value if the page is in EditMode or not. (create and edit is edit mode. save, cancel and delete is not)
    I created a contextual event to listen when that variable change, like that a datacontrol from a bean with a single public method could handle that change :
    onIsEditModeChanged(boolean newValue){
     getGUI().swicthShowDetailItem(newValue);
    }The method try to get the backingbean of the template (with a el expression), and then call a updatePanel(Boolean newValue) for changing the disclosed property of the showDetailItems :
    public BackingBeanTemplate001 getGUI()
     FacesContext context = FacesContext.getCurrentInstance();
     ELContext eLContext = context.getELContext();
     ExpressionFactory expressionFactory = context.getApplication().getExpressionFactory();
     ValueExpression createValueExpression =
     expressionFactory.createValueExpression(eLContext, "#{backingBeanScope.backingBeanTemplate001}", BackingBeanTemplate001.class);
     return (BackingBeanTemplate001)createValueExpression.getValue(eLContext);
    public void swicthShowDetailItem(Boolean newValue) {
     if (newValue) {
      if(!showDetail2.isDisclosed()){
       showDetaill1.setDisclosed(false);
       showDetaill2.setDisclosed(true);
    }Here's my issue :
    When the onIsEditModeChanged method is called the backingbean of the template doesn't exist in the context.
    So adf create a new instance of it but doesn't fill the ui component references of the page so i can't change the properties cause i get a NPE.
    of course showDetail2 and showDetail1 have their binding property set :
    <af:showDetailItem text="showDetail1" id="pt_sdi1" stretchChildren="first" binding="#{backingBeanScope.backingBeanTemplate001.showDetail1}">
    And
    <af:showDetailItem text="showDetail2" id="pt_sdi1" stretchChildren="first" binding="#{backingBeanScope.backingBeanTemplate001.showDetail2}">the backingBeanScope.backingBeanTemplate001 is referenced in adfc-config.xml :
    <managed-bean id="__5">
         <managed-bean-name>backingBeanTemplate001</managed-bean-name>
         <managed-bean-class>org.darkink.test.backingbean.template.BackingBeanTemplate001</managed-bean-class>
         <managed-bean-scope>backingBean</managed-bean-scope>
    </managed-bean>If i put a button IN the template that change my attribut value :
    public void switchAction(ActionEvent actionEvent) {
             BindingContext bindingContext = BindingContext.getCurrent();
             DCBindingContainer bindingContainer = (DCBindingContainer)bindingContext.getCurrentBindingsEntry();
             AttributeBinding binding = (AttributeBinding)bindingContainer.getControlBinding("isEditModeAttr");
             binding.setInputValue(true);
    }I dont have the NPE, at the "JSF Invoke Application" the bean already exists in the context (it is created at the "JSF Restore View") and all the ui component are NOT null.
    BUT if a place my button in the page that inherits the template and i call that method :
    public void switchAction(ActionEvent actionEvent) {
             BindingContext bindingContext = BindingContext.getCurrent();
             DCBindingContainer bindingContainer = (DCBindingContainer)bindingContext.getCurrentBindingsEntry();
             DCBindingContainer bcPtb1 = (DCBindingContainer)bindingContainer.get("ptb1");
             AttributeBinding binding = (AttributeBinding)bcPtb1 .getControlBinding("isEditModeAttr");
             binding.setInputValue(true);
    }everything works the same BUT at the "JSF Invoke Application" the bean doesn't exist in the context (so adf create it, BUT doesn't fill the ui component bindings).
    The strange thing is that at the "JSF Restore View" the backingbean is well created and filled with the ref of the ui components....
    So here's my questions :
    1) Why there is a difference when my button is on the template and when it's on the page ??? (with the backingbean)
    2) Why the backingbean is not fully created (only the constructor is called and not the ui components bindings)
    3) How can i realise my use case ?
    4) Is there another method to implement UI Logic with template ?
    5) Is there a better way to do this ?
    6) How to get the context of the template ?
    Thanks a lot for all of you who had the patience to read all of this, i know it's a lot
    but i didn't know how to explain my problem without all thoses explanations.
    I've read all the adf corner and all the given pdf books on the site (that i've found) trying to search for a solution and
    didn't find one. So please don't tell me read the books, or the solution is already documented...
    It would be a lot more helpfull to explain me why it's not working or why what a did is not a good solution.
    Sorry for my poor english too.
    Thanks a lot....
    Angle
    P.S 1:
    In the swicthShowDetailItem method i've tried to change for using this :
    if (newValue) {
     RichShowDetailItem c = (RichShowDetailItem)getComponent("pt1:pt_pt1:pt_sdi2");
     if (!c.isDisclosed()) {
        ((RichShowDetailItem)getComponent("pt1:pt_pt1:pt_sdi1")).setDisclosed(false);
        c.setDisclosed(true);
    }It's working... but ugly and not efficient... so for me it's not a good answer....
    P.S 2:
    Another solution that i've found is that i could create an hidden button on the template
    that call the change event and in the page create a button that queue a click event
    on that button but for me it's not a solution.
    P.S 3:
    I dont like a JavaScript solution neither. for me, if a can bind my ui components to a backingbean
    i want to be able to use them !!!
    Edited by: 915518 on 19 févr. 2012 12:04
    Edited by: 915518 on 19 févr. 2012 12:10

    Hi,
    There will not any performance issue as such as all the code will be executed by the same Dialog workprocess in the application server.
    But it is alwys good to keep you flow logic and application logic seperated, so flow logic just calls the methods and the methods are in a different component like a static method of a class or function module in a function group.
    Best thing is Function Group as you can have screens in a Function pool.
    Regards,
    Sesh

  • Restriction on memory scope for UI components binding

    Hello
    I'm using JDeveloper 11g 10.1.1.3
    I found in the Fusion Developer's Guide for Oracle ADF (14 Getting Started with ADF Task Flows) next thing:
    <i>
    Restrict the scope of the managed bean that you reference through a UI component's binding attribute to backingBean or request scope. Instances of UI components cannot be serialized. Objects in scopes other than backingBean and request are expected to be serializable. For this reason, you should not bind UI components to managed beans that have a scope other than backingBean or request. Note that JDeveloper defaults the binding attribute for UI components and region fragments to use the backingBean scope.
    </i>
    By now I often have binded UI components to the managed beans with pageFlowScope or viewScope, but I have not got problem with that.
    So, question is: what is the case that managedBean with view or pageFlow (even or session) memory scope will be needed to be serialized?
    When could I get the problems with that?
    Anatolii

    For more details you may have a look at section 20.4.3 here:
    http://download.oracle.com/docs/cd/E17904_01/web.1111/b31974/web_getstarted.htm#CACCFIII
    http://download.oracle.com/docs/cd/E17904_01/web.1111/b31973/gs_jdev.htm#ADFUI11666
    Dimitar

  • BackingBean sope question

    Hi all,
    According to oracle documentation, BackingBean scope is:
    BackingBean
    – Special case of request scope
    – Associated with a specific managed bean instance
    – Used with declarative components, regions and page fragments that use a managed bean to hold view state information
    – Allows multiple instances of the component to co-exist on a single page
    Can anyone explain the bold sentence? this means that in every request a new instance of the managed bean is created?
    Thanks in advance.
    Francisco.

    jsut chek..
    Allows multiple instances of the component to co-exist on a single pagemultiple instance of the component.. ie.. multiple instance of inputText or commandButon or any other component..
    it dowant say that multiple instance of the managed bean..
    also refer
    Difference between backing bean scope anf request scope

  • How to use same page fragment more than once in a page,

    Hi Gurus,
    How to use same page fragment more than once in a page. I have a complex page fragment which has lots of Bindings (Binding Property set with backingBean variables).
    I want to use the same page fragment multiple times on the same page with different tabs.
    I want different ApplicationModule Instance for the page fragment in different tabs.
    So I have created a Bounded Taskflow with pagefragments which has this complex pagefragment.
    I've dragged the taskflow to page and created regions.
    I'm able to execute the page successfully when I have only one region but fails if I have region more than once in the page.
    Can anyone help me how to resolve this issue.
    Web User Interface Developer's Guide for Oracle Application Development Framework: section 19-2 states we can have same pagefragment more than once in a page.
    Thanks,
    Satya

    java.lang.IllegalStateException: Duplicate component id: 'pt1:r1:0:t2:si5', first used in tag: 'com.sun.faces.taglib.jsf_core.SelectItemsTag'
    +id: j_id_id1
    type: javax.faces.component.UIViewRoot@1d23189
      +id: d1
       type: RichDocument[UIXFacesBeanImpl, id=d1]
        +id: j_id_id5
         type: HtmlScript[UIXFacesBeanImpl, id=j_id_id5]
          +id: j_id0
           type: javax.faces.component.html.HtmlOutputText@bc252
        +id: m1
         type: RichMessages[UINodeFacesBean, id=m1]
        +id: f1
         type: RichForm[UIXFacesBeanImpl, id=f1]
          +id: pt1
           type: RichPageTemplate[oracle.adf.view.rich.component.fragment.UIXInclude$ContextualFacesBeanWrapper@2a0cc, id=pt1]
            +id: ps1
             type: RichPanelSplitter[UIXFacesBeanImpl, id=ps1]
              +id: pt3
         at javax.faces.webapp.UIComponentClassicTagBase.doStartTag(UIComponentClassicTagBase.java:1199)
         at jsp_servlet.__projectrevenuern_jsff._jspx___tag265(__projectrevenuern_jsff.java:12356)
         at jsp_servlet.__projectrevenuern_jsff._jspx___tag264(__projectrevenuern_jsff.java:12317)
         at jsp_servlet.__projectrevenuern_jsff._jspx___tag263(__projectrevenuern_jsff.java:12262)
         at jsp_servlet.__projectrevenuern_jsff._jspx___tag262(__projectrevenuern_jsff.java:12200)
         at jsp_servlet.__projectrevenuern_jsff._jspx___tag261(__projectrevenuern_jsff.java:12147)
         at jsp_servlet.__projectrevenuern_jsff._jspx___tag260(__projectrevenuern_jsff.java:12099)
         at jsp_servlet.__projectrevenuern_jsff._jspx___tag259(__projectrevenuern_jsff.java:12047)
         at jsp_servlet.__projectrevenuern_jsff._jspx___tag258(__projectrevenuern_jsff.java:11992)
         at jsp_servlet.__projectrevenuern_jsff._jspx___tag257(__projectrevenuern_jsff.java:11948)
         at jsp_servlet.__projectrevenuern_jsff._jspx___tag255(__projectrevenuern_jsff.java:11860)
         at jsp_servlet.__projectrevenuern_jsff._jspx___tag254(__projectrevenuern_jsff.java:11808)
         at jsp_servlet.__projectrevenuern_jsff._jspx___tag9(__projectrevenuern_jsff.java:510)
         at jsp_servlet.__projectrevenuern_jsff._jspx___tag8(__projectrevenuern_jsff.java:461)
         at jsp_servlet.__projectrevenuern_jsff._jspx___tag1(__projectrevenuern_jsff.java:149)
         at jsp_servlet.__projectrevenuern_jsff._jspService(__projectrevenuern_jsff.java:67)
         at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
         at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:499)
         at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:429)
         at weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:163)
         at weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:184)
         at oracle.adfinternal.view.faces.taglib.region.IncludeTag.__include(IncludeTag.java:443)
         at oracle.adfinternal.view.faces.taglib.region.RegionTag$1.call(RegionTag.java:153)
         at oracle.adfinternal.view.faces.taglib.region.RegionTag$1.call(RegionTag.java:128)
         at oracle.adf.view.rich.component.fragment.UIXRegion.processRegion(UIXRegion.java:492)
         at oracle.adfinternal.view.faces.taglib.region.RegionTag.doStartTag(RegionTag.java:127)
         at jsp_servlet.__projectrevenuepg_jspx._jspx___tag50(__projectrevenuepg_jspx.java:2392)
         at jsp_servlet.__projectrevenuepg_jspx._jspx___tag49(__projectrevenuepg_jspx.java:2353)
         at jsp_servlet.__projectrevenuepg_jspx._jspx___tag46(__projectrevenuepg_jspx.java:2209)
         at jsp_servlet.__projectrevenuepg_jspx._jspx___tag45(__projectrevenuepg_jspx.java:2162)
         at jsp_servlet.__projectrevenuepg_jspx._jspx___tag9(__projectrevenuepg_jspx.java:526)
         at jsp_servlet.__projectrevenuepg_jspx._jspx___tag8(__projectrevenuepg_jspx.java:475)
         at jsp_servlet.__projectrevenuepg_jspx._jspx___tag7(__projectrevenuepg_jspx.java:424)
         at jsp_servlet.__projectrevenuepg_jspx._jspx___tag6(__projectrevenuepg_jspx.java:373)
         at jsp_servlet.__projectrevenuepg_jspx._jspx___tag2(__projectrevenuepg_jspx.java:202)
         at jsp_servlet.__projectrevenuepg_jspx._jspx___tag1(__projectrevenuepg_jspx.java:144)
         at jsp_servlet.__projectrevenuepg_jspx._jspService(__projectrevenuepg_jspx.java:71)
         at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
         at weblogic.servlet.internal.ServletStubImpl.onAddToMapException(ServletStubImpl.java:408)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:318)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
         at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:499)
         at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:248)
         at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:410)
         at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
         at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
         at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
         at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
         at org.apache.myfaces.trinidadinternal.context.FacesContextFactoryImpl$OverrideDispatch.dispatch(FacesContextFactoryImpl.java:267)
         at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:473)
         at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:141)
         at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:189)
         at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:193)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:710)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:273)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:205)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:191)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:97)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:94)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:138)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:70)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:326)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    SUBSYSTEM = HTTP USERID = <WLS Kernel> SEVERITY = Error THREAD = [ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)' MSGID = BEA-101020 MACHINE = CAMIND1 TXID =  CONTEXTID =  TIMESTAMP = 1262712477691 
    WatchAlarmType: AutomaticReset
    WatchAlarmResetPeriod: 30000
    >
    <JMXWatchNotificationListener><handleNotification> failure creating incident from WLDF notification
    oracle.dfw.incident.IncidentCreationException: DFW-40116: failure creating incident
    Cause: DFW-40112: There was an error executing adrci commands; the following errors have been found "DIA-48415: Syntax error found in string [create home base=C:\\Documents and Settings\\tammineedis\\Application] at column [69]
    DIA-48447: The input path [C:\\Documents and Settings\\tammineedis\\Application Data\\JDeveloper\\system11.1.1.2.36.55.36\\DefaultDomain\\servers\\DefaultServer\\adr] does not contain any ADR homes
    DIA-48447: The input path [diag\ofm\defaultdomain\defaultserver] does not contain any ADR homes
    DIA-48494: ADR home is not set, the corresponding operation cannot be done
    Action: Ensure that command line tool "adrci" can be executed from the command line.
         at oracle.dfw.impl.incident.DiagnosticsDataExtractorImpl.createADRIncident(DiagnosticsDataExtractorImpl.java:708)
         at oracle.dfw.impl.incident.DiagnosticsDataExtractorImpl.createIncident(DiagnosticsDataExtractorImpl.java:246)
         at oracle.dfw.spi.weblogic.JMXWatchNotificationListener.handleNotification(JMXWatchNotificationListener.java:195)
         at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor$ListenerWrapper.handleNotification(DefaultMBeanServerInterceptor.java:1732)
         at javax.management.NotificationBroadcasterSupport.handleNotification(NotificationBroadcasterSupport.java:257)
         at javax.management.NotificationBroadcasterSupport$SendNotifJob.run(NotificationBroadcasterSupport.java:322)
         at javax.management.NotificationBroadcasterSupport$1.execute(NotificationBroadcasterSupport.java:307)
         at javax.management.NotificationBroadcasterSupport.sendNotification(NotificationBroadcasterSupport.java:229)
         at weblogic.management.jmx.modelmbean.WLSModelMBean.sendNotification(WLSModelMBean.java:824)
         at weblogic.diagnostics.watch.JMXNotificationProducer.postJMXNotification(JMXNotificationProducer.java:79)
         at weblogic.diagnostics.watch.JMXNotificationProducer.sendNotification(JMXNotificationProducer.java:104)
         at com.bea.diagnostics.notifications.JMXNotificationService.send(JMXNotificationService.java:122)
         at weblogic.diagnostics.watch.JMXNotificationListener.processWatchNotification(JMXNotificationListener.java:103)
         at weblogic.diagnostics.watch.Watch.performNotifications(Watch.java:621)
         at weblogic.diagnostics.watch.Watch.evaluateLogRuleWatch(Watch.java:546)
         at weblogic.diagnostics.watch.WatchManager.evaluateLogEventRulesAsync(WatchManager.java:765)
         at weblogic.diagnostics.watch.WatchManager.run(WatchManager.java:525)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: oracle.dfw.common.DiagnosticsException: DFW-40112: failed to execute the adrci commands "create home base=C:\\Documents and Settings\\tammineedis\\Application Data\\JDeveloper\\system11.1.1.2.36.55.36\\DefaultDomain\\servers\\DefaultServer\\adr product_type=ofm product_id=defaultdomain instance_id=defaultserver
    set base C:\\Documents and Settings\\tammineedis\\Application Data\\JDeveloper\\system11.1.1.2.36.55.36\\DefaultDomain\\servers\\DefaultServer\\adr
    set homepath diag\ofm\defaultdomain\defaultserver
    create incident problem_key="BEA-101020 [HTTP]" error_facility="BEA" error_number=101020 error_message="null" create_time="2010-01-05 12:27:58.155 -05:00" ecid="0000INzXpbB7u1MLqMS4yY1BGrHn00000K"
    Cause: There was an error executing adrci commands; the following errors have been found "DIA-48415: Syntax error found in string [create home base=C:\\Documents and Settings\\tammineedis\\Application] at column [69]
    DIA-48447: The input path [C:\\Documents and Settings\\tammineedis\\Application Data\\JDeveloper\\system11.1.1.2.36.55.36\\DefaultDomain\\servers\\DefaultServer\\adr] does not contain any ADR homes
    DIA-48447: The input path [diag\ofm\defaultdomain\defaultserver] does not contain any ADR homes
    DIA-48494: ADR home is not set, the corresponding operation cannot be done
    Action: Ensure that command line tool "adrci" can be executed from the command line.
         at oracle.dfw.impl.incident.ADRHelper.invoke(ADRHelper.java:1052)
         at oracle.dfw.impl.incident.ADRHelper.createIncident(ADRHelper.java:786)
         at oracle.dfw.impl.incident.DiagnosticsDataExtractorImpl.createADRIncident(DiagnosticsDataExtractorImpl.java:688)
         ... 19 moreI get the above Error.
    I have checked the bindings and it has 2 instances of the taskflow.
    I have changed the backingbean scope to backingBean

  • Triggering Validation in a Region Through a Contextual Event

    I am using JDeveloper 11.1.1.6.0.
    I am trying to find out how to trigger the built in validation that occurs normally when a "submit" action occurs, but have the submit action occur outside of a region, and the validation also occur in the region itself.
    I have a page that contains a dynamic region in it. I will refer to the containing page as the parent and the region as the child. The parent region and child region both have different business objects bound to them, though they are part of the same application module. The parent page contains a submit button that needs commit the user entered data in both the parent and child pages. This action must not proceed if there are any validation errors in the parent or the child. The validation should trigger on the parent page without any work from me because of how ADF handles the situation. The child page is notified of the submit action via contextual events. I currently have it where this event can trigger the "commit" action successfully, but I have no idea how to go about ensuring that it triggers a validation check as well.
    The overall flow that I think will happen in the final version is likely:
    1: submit button pressed.
    2: parent page validation is checked (if success, proceed)
    3: contextual event is fired
    4: contextual event is received by the child.
    5: the child triggers its own validation (if success, proceed, else stop)
    6: the child triggers a commit action
    7: the child sends a response contextual event (signalling that it was successful)
    8: the parent receives the response contextual event
    9: the parent performs a "commit" action.
    I do not know how to cause step 5 to occur, and I do not know if steps 7 through 9 are needed yet (I haven't tested to see if causing the commit in either the parent or the child ends up causing all modified entity objects to be committed). Any help would be greatly appreciated.
    Thank you

    Hi,
    you can access a command button on the page fragment and queue its action event. For this you access a managed bean (backingBean Scope) that contains a handler to the command button and queue the event (this then will perform validation as if the user clicked it. The command button can also be hidden on the fragment.
    Have a look here for how you can integrate the managed bean as the contextual event handler
    http://www.oracle.com/technetwork/developer-tools/adf/learnmore/regionpayloadcallbackpattern-1865094.pdf
    Frank

  • Issue with child node edit on TreeTable

    Hello,
    I have a treeTable which is based on single VO. My problem is such that, when i select the child node and click on edit, i get values of it's parent :( ....
    but when i have once  edit on any node (either rollback/commit) and hit the browser refresh button now it works as expected and no more issue....
    what the heck is that. I have used backingBean scope and i have jdev 11.1.1.3.0
    Thanks
    Raj

    Hello Frank,
    Thank you so much for the help.. I have 2 iterator as explained in http://www.oracle.com/technetwork/developer-tools/adf/learnmore/sept2011-otn-harvest-508189.pdf .
    As my treeTable is based on single VO , whenever i select a child node and hit the toolbar edit and/or context menu edit, i get parent node info in the edit form. and this happens until i hitting browser refresh. after that it works as expected....
    when selection is made and edit button is clicked i call the managed bean method to call service operation as:
    public void onTreeTableEditClicked(ActionEvent actionEvent)
    Number id = getSelectedIdFromTree(); // my problem is here ... i am getting parent id until once edit is done(either rollback/commit) and browser refresh is hit. after that i am getting selected it.
    if (id!= null)
    OperationBinding opr =
    ADFBindingUtils.getDCBindingContainer().getOperationBinding("selectMyMethod");
    opr.getParamsMap().put("id", id);
    opr.execute();
    _showPopup(getEditPopup());*
    else
    // show warning.
    public Number getSelectedIdFromTree()
    RowKeySet rks2 = myTreeTable.getSelectedRowKeys();
    Iterator rksIterator = rks2.iterator();
    if (rksIterator.hasNext())
    List<Key> list = (List<Key>) rksIterator.next();
    return ((DBSequence) (list.get(list.size() -
    1).getKeyValues()[0])).getSequenceNumber();
    return null;
    // in the application Module
    public void selectMyMethod(Number id)
    MYVOImpl pvo = getEditMyVOImpl();
    MYVORowImpl row =
    (MYVORowImpl ) pvo.findByKey(new Key(new Object[]
    { new DBSequence(id) }), 1)[0];
    pvo.setCurrentRow(row);
    and the edit popup has value referenced by editIterator...
    Please let me know where i am wrong, or is there something i am missing.
    Thank you
    Edited by: MavenDev on Nov 8, 2011 8:34 AM

  • Cannot disable a button 2 times using an EL expression

    Using a EL expression for the disabled attribute on a button does not work the second time... It will not disable again.
    Below is a simple example.... The EL updates the text of the button but does not enable/disable the button.
    Any help would be greatly appreciated!
    JSPX Code:
    <af:showDetailHeader text="Enable/Disable Test" disclosed="true">
    <af:panelGroupLayout>
    <af:panelFormLayout labelWidth="150" fieldWidth="300" rows="1" maxColumns="1">
    <af:commandButton text="Toggle isButtonEnabled - value = #{ToggleTestBk.buttonEnabled}" disabled="#{ToggleTestBk.buttonEnabled}" partialTriggers="toggleBtn">
    </af:commandButton>
    <af:commandButton id="toggleBtn" text="Toggle Button" actionListener="#{ToggleTestBk.toggleButtonAL}" partialSubmit="true">
    </af:commandButton>
    </af:panelFormLayout>
    </af:panelGroupLayout>
    </af:showDetailHeader>
    Backing Bean Code:
    private boolean buttonEnabled = true;
    public void toggleButtonAL(ActionEvent event) {
    setButtonEnabled(!buttonEnabled);
    public void setButtonEnabled(boolean _buttonEnabled) {
    this.buttonEnabled = _buttonEnabled;
    public boolean isButtonEnabled() {
    return buttonEnabled;
    Thanks!
    Matt
    Edited by: Matt Cannon IBI on Apr 3, 2010 4:28 PM

    Hi,
    try two things:
    1- check your backingbean scope if it is request scope try to change it. (try make it session scope).
    if it is not working ....
    2- try your backingbean like this:
    private boolean buttonEnabled = true;
    public void toggleButtonAL(ActionEvent event) {
    isButtonEnabled();
    public void setButtonEnabled(boolean _buttonEnabled) {
    this.buttonEnabled = _buttonEnabled;
    public boolean isButtonEnabled() {
    setButtonEnabled(!buttonEnabled);
    return buttonEnabled;
    }Sameh Nassar

  • ADF popup is not showing - Intermittent issue

    Guys,
              Once in a while popups inside the adf application are not showing up. have anybody faced this issue?
    Though its rare, i would like to know the reasons behind this intermittent issue.
    Any pointers/thoughts will be appreciated... Thanks

    Popup if very problematic item in ADF.
    There are 2 ways to invoke the popup correctly
    1. Make sure that you don't have a combination of viewScope and backingbean scope in everything related to your popup
    2. Or (and this is the best one) - don't use popup. Create a bounded task flow and call it from your task flow. You have an option to call it as inline popup.

  • Pageflow-scoped bean "disappearing" during postbacks

    Hello,
    I'm getting crazy with an error with a pageflow-scoped bean which suddenly "disappers"...
    What I need to do is to use a bean to mantain the visibility status of 2 components (one is visible while the other isn't), an edit form and a warning message:
      <af:outputText value="some warning text"
                     visible="#{!pageFlowScope.untitled1.editFormViewable}"/>
      <af:panelFormLayout visible="#{pageFlowScope.untitled1.editFormViewable}">
      </af:panelFormLayout>the editFormViewable boolean variable is updated within the selectionListener of a tree (which also resides in the same bean), according to the node
    selected by the user:
    public class Untitled1Bean implements Serializable {
      private Boolean editFormViewable;
      public Untitled1Bean() { }
      public void treeSelectionListener(SelectionEvent event) {
        // manipulates editFormViewable
    }so I either show the form or the warning message. I need to retain editFormViewable across requests so backingBean scope isn't fully appropriate, but I'm also in a bounded taskflow so according to the guide viewscope is not supported. So I went for pageFlow scope.
    Here's the definition for the managed bean in my bounded taskflow:
        <managed-bean>
          <managed-bean-name>untitled1</managed-bean-name>
          <managed-bean-class>test.view.backing.Untitled1Bean</managed-bean-class>
          <managed-bean-scope>pageFlow</managed-bean-scope>
          <managed-property>
            <property-name>editFormViewable</property-name>
            <property-class>java.lang.Boolean</property-class>
            <value>false</value>
          </managed-property>
        </managed-bean>Now, when I enter the taskflow and load the page everything is fine, editFormViewable is correctly initialized to false (same if I set it to true) and the page displays correctly.
    However, as soon as I expand a node of the tree to access its children, my app dies with the following exception:
    javax.el.PropertyNotFoundException: Target Unreachable, 'untitled1' returned null
         at com.sun.el.parser.AstValue.getTarget(AstValue.java:88)
         at com.sun.el.parser.AstValue.invoke(AstValue.java:153)
         at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodExpression(UIXComponentBase.java:1264)
         at org.apache.myfaces.trinidad.component.HierarchyUtils.__handleBroadcast(HierarchyUtils.java:81)
         at org.apache.myfaces.trinidad.component.UIXTree.broadcast(UIXTree.java:227)
         at oracle.adf.view.rich.component.rich.data.RichTree.broadcast(RichTree.java:220)
         at org.apache.myfaces.trinidad.component.UIXCollection.broadcast(UIXCollection.java:153)
         at org.apache.myfaces.trinidad.component.UIXTree.broadcast(UIXTree.java:231)
         at oracle.adf.view.rich.component.rich.data.RichTree.broadcast(RichTree.java:220)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:754)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:282)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:175)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:181)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:85)
         ...So it seems that during postbacks on that page the managed bean is no longer accessibile? How can a pageFlow bean disappear at that point? The bounded taskflow only has a view activity with my page, I'm in, why is the bean getting instanced correctly and then lost?
    Can someone please shed some light on this? I've used beans with scope longer than backing bean before, but never encountered such a problem.

    Sorry but that can't be right, probably just a leftover from previous versions or a mistake in the doc.
    JDeveloper itself on the "Managed Beans" tab of any taskflow, when registering a managed bean, presents you with a combobox offering 7 choices including pageFlow scope.
    Why would JDeveloper offer a non-existant feature in its UI?
    Also, I've used and seen them before. Check custRegBasicInformationBean, custRegDefineAddressesBean and welcomeUserRegistrationBean in FOD, they're pageflow-scoped beans and they do work.
    Mine works too, except that it breaks completely on postbacks from a tree.

  • Where should backing bean for bounded-task-flow be declared?

    I have a bounded-task-flow that is used inside a dynamic region.
    I declared a managed bean to be used by activities (method/view) using the "backingBean" scope managed bean.
    There are two possible places that I can register the managed bean:
    1. adfc-config.xml
    2. the bounded-task-flow-definition.xml
    What are the differences between declaring the "backingBean" scope bean in "adfc-config.xml" and in the bounded-task-flow definition?
    What is the best practice for registering "backingBean" scope bean?
    If I understand correctly, registering the bean in adfc-config.xml is for one or more bounded-task-flow that use the same Bean class for instantiating their own backing bean. If the backing bean java class is only use by specific bounded-task-flow then it should make no difference to register the bean in either xml files.
    Am I correct?

    It should be registered within the bounded task flow for a couple reasons:
    1) Help maintain the encapsulation of the bounded task flow for reuse
    2) Managed bean definition metadata residing in adfc-config.xml or bootstrap configuration file will be preloaded when the ADF application is started. The actual managed beans will be instantiated the first time they are referenced. Therefore, to avoid the preload place them in the bounded task flow.
    thanks.

Maybe you are looking for

  • If iTunes 9 will not launch - read this

    Hi there, If iTunes 9.0.2 update has completely messed up your itunes - will not launch or what not, make sure you have the specs that are required to run it. Trust me, today, I finally sorted through my problems with the update. First off I was runn

  • Trying to delete "submit" button. Tried unsucessfully 5 times. Need help and want to start over.

    I created a pdf that I just wanted people to be able to fill in, download, print out and then mail to me.  I followed the instructions from a previous acrobat expert who replied to me yesterday and that did not work.  Now, I've tried this 5 times and

  • Different versions of a library on the server

    Hi, is it possible to have different versions of the same library on the server? The reason for this is that we have some utility classes which should be deployed on the server as a library (because they are used by many projects). But the different

  • ESS/MSS customization

    Hi, We are planning customize ESS/MSS (version 600) on EP 7 SP9 we created new Track in NWDI  as explained in the following blog ESS/MSS Customization – Make it Simple Then we added software component ESS 600 and MSS 600 in our track and checked in S

  • Oracle blobs performance

    I am using Oracle Blobs to write 100 KB XML file to the database. I find the time required for writing this file to the database is around 300 ms . Can anyone suggest performance improvements