Do I need to cleanup runtime binding container and iterators?

If I create a runtime binding container and iterator in a JSF session bean as follows:
FacesContext facesContext = FacesContext.getCurrentInstance();
ValueBinding valueBinding = facesContext.getApplication().createValueBinding("#{data}");
BindingContext bindingContext = (BindingContext)valueBinding.getValue(facesContext);
// To create JUIteratorBinding, we need the following objects
DCDataControl dataControl = bindingContext.findDataControl("MyDataControlName");
ApplicationModule appModule = (ApplicationModule)dataControl.getDataProvider();
DCBindingContainer bindingContainer = new DCBindingContainer();
// Create dynamic iterator.  Need to set bindingContainer otherwise executeQuery throws exception
JUIteratorBinding iterator = new JUIteratorBinding(bindingContext, dataControlName, "MyViewObjectName", "MyIteratorName", -1);
iterator.setBindingContainer(bindingContainer);....do I have to later clean down the iterator and binding container from the data control to release the memory (and what calls do I need to make), or once the objects fall out of scope in my code are they marked for GC?
CM.
PS. JDev 10.1.3.1, ADF BC and JSF

Hi Steve, thanks for the follow up.
I'm coding a dynamic menu <af:page> control that maps to the MenuTreeModelAdapter (session bean) as detailed in the JDev 4GL/Forms guide.
I've made a change that instead of loading the menu items from the hardcoded faces-config.xml file, they're actually sourced from the database via the code above, which is placed in the MenuTreeModelAdapter constructor. As the <af:page> tag exists on a number of pages, and thus the MenuTreeModelAdapter may be instantiated for the first time from a number of different locations, I can't hard-code the binding container or iterator into any single pageDef file. Thus I dynamically construct it in the constructor when the session bean is created for each user. I require a session bean as the menu items are different for each user.
However I'm concerned once I've created the binding container and iterator, that even though the session bean may become invalidated, the 2 binding layer constructs may remain, consuming resources.
Thanks for your assistance.
CM.

Similar Messages

  • About binding container

    Hi
    I am using jdev 11.1.1.5.0
    I created a fragment page and bounded task flow.
    which have few bindings
    I drop the task flow as region on a jspx page.
    On the flow I drop a method call and define that method in backing of fragment.
    Now I define some functionality in that method to perform some task before page load
    I am using binding container in that method but it returns null .
    there is any solution to solve this problem...?
    Thanks.

    You need to create a pageDef/bindings file for that method call, and then the associated bindings you want to manipulate. To create the pageDef file right click on the method call and select the Create Page Definitions option.
    CM.

  • (Why) do I need a JSR-168 Portlet container?

    Probably I'm missing something essential here, but whey do I need a JSR-168 portlet container? Suppose I'm using Tapestry 4 to write my JSR-168 compliant portlets, can they be consumed "directly" by a WSRP Portal server?

    Because:
    "A portlet container runs portlets and provides them with the required runtime"
    "environment. A portlet container contains portlets and manages their lifecycle. "
    "It also provides persistent storage for portlet preferences. A portlet container"
    "receives requests from the portal to execute requests on the portlets hosted by it."
    "A portlet container is not responsible for aggregating the content produced by the"
    "portlets. It is the responsibility of the portal to handle the aggregation."

  • Odd runtime binding fault

    I'm getting the following runtime binding error exception:
    <bindingFault>
    <part name="code" >
    <code>GenericError</code>
    </part>
    <part name="summary" >
    <summary>Failed get wsdl service definition. Failed to get a WSDL service that support the portType "{http://xmlns.oracle.com/prefixer}prefixerPT" in WSDL definition "{http://xmlns.oracle.com/prefixer}prefixer". Please verify that WSDL portType "{http://xmlns.oracle.com/prefixer}prefixerPT" is supported by a service in WSDL file. </summary>
    </part>
    </bindingFault>
    Here's the prefixer.wsdl file. As far as I can tell, prefixerPT is supported. Any idea what's wrong?
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions name="prefixer"
    targetNamespace="http://xmlns.oracle.com/prefixer"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    xmlns:client="http://xmlns.oracle.com/prefixer"
    >
         <types>
              <schema attributeFormDefault="qualified"
                   elementFormDefault="qualified"
                   targetNamespace="http://xmlns.oracle.com/prefixer"
                   xmlns="http://www.w3.org/2001/XMLSchema">
                   <element name="beforePrefixT">
                        <complexType>
                             <sequence>
    <element name="pre" type="string"/>
                                  <element name="base" type="string"/>
                             </sequence>
                        </complexType>
                   </element>
                   <element name="afterPrefixT">
                        <complexType>
                             <sequence>
                                  <element name="output" type="string"/>
                             </sequence>
                        </complexType>
                   </element>
              </schema>
         </types>
         <message name="prefixRequestM">
              <part name="input" element="client:beforePrefixT"/>
         </message>
         <message name="prefixResponseM">
              <part name="output" element="client:afterPrefixT"/>
         </message>
         <portType name="prefixerPT">
              <operation name="doPrefix">
                   <input message="client:prefixRequestM"/>
                   <output message="client:prefixResponseM"/>
              </operation>
         </portType>
         <plnk:partnerLinkType name="prefixer">
              <plnk:role name="prefixRequester">
                   <plnk:portType name="client:prefixerPT"/>
              </plnk:role>
         <plnk:role name="prefixReplier">
                   <plnk:portType name="client:prefixerPT"/>
              </plnk:role>
         </plnk:partnerLinkType>
    </definitions>

    if the wsdl from above is the wsdl you try to consume (aka invoke) from your bpel process then it's understandable - as it is abstract .. as runtime you need to have the concrete wsdl andy - with a port and a service, telling bpel what it should bind to ..
    if this is the case - point the bpel partnerlink to the concrete wsdl
    hth clemens

  • I teach Continuing education classes to Real Estate agents and I need to issue them certificates at the class, whihc need to be signed by me and it needs to contain their info on the certificate. The certificate is currently saved in a word format.What i'

    I teach Continuing education classes to Real Estate agents and I need to issue them certificates at the class, whihc need to be signed by me and it needs to contain their info on the certificate. The certificate is currently saved in a word format.What i'm trying to accomplish is to do a "mail merge " ( as some classes i have as many as 150 attendees) for the document, digitally sign each one with my signature on the certificate and then e-mail it out to the respective attendees. can this be done? if so How?

    This is the step that I took after inputting my signature.
    On the right, after saving my document, I click "Get Others to Sign."  I was confused because it says that it's powered by EchoSign.  Like I stated before, my clients are able to sign this document when I send it to them, but it is returned to me with their signature (not in the signature field, but at the end of the document), and my signature is missing.  I tested this on myself - my signature is missing when they receive it. 

  • I need the dialog box (which contains page selection etC) HOW TO MAKE IT?

    hi
    i have done an requirement in smartforms.
    i need the dialog box (which contains output device name, page selection etc) when i take the print (smartforms).
    And now i already can see a dialog box .but still it doesn't have the page selection.
    I mean if the smartforms which have 5 pages,and what i need is just print the page 1 and page 3 . so I need the page selection
    which can help me on this issue. 
    Would anyone know something about it  and give me some advice . I will be appericate it.

    Hi,
    Just check with the control parameters of the function module, if you have changed any of it.
    If you have changed it then try to give the no-dialog field of the control parameter table as space.
    If the dialog box which gives you the Output device name and others appears then just below the output device name you have the column for the page selection.Just pass the values of the pages separating them with comma(like 2, 5 will print second and fifth pages) and it prints only those pages.
    Regards
    Sarves

  • I have highlighted words in an .iba file. Now I need to increase the space before (and/or after) the paragraph it's contained in. If I increase the space after, the height of the highlighting increases also. Is there any way around this?

    I have highlighted words in an .iba file. Now I need to increase the space before (and/or after) the paragraph it's contained in. If I increase the space after, the height of the highlighting increases also. Is there any way around this?

    http://www.apple.com/feedback/kaywerty wrote:
    A rather long winded way of asking if anybody knows if it's possible to have multi-windows open
    It's not possible.
    Suggestions here -> Apple Product feedback

  • Programmed Binding (Container IF)

    Hello Everyone,
    I was experimenting on Programmed Binding (Container IF) but I can't seem to make it work. I have had tried to refer the codes from the Programmed Binding (BOR Container) but to no avail.
    Is there anyone who can guide me on this?

    hi Liew
    You can use programmed binding in a binding instruction. You can use programmed binding to create more complex assignments, such as:
    ·        Perform calculations or checks on container elements before assignment
    ·        Combine two or more container elements before assignment
    You can implement a programmed binding as an ABAP class or a function module
    You can use an ABAP class to implement the Container ® Container and Expression ® Expression bindings.
    A binding that is implemented as an ABAP class is displayed in the list of binding statements as an enhancement and is visible in all Workflows. This type of ABAP class is therefore particularly suitable for making company-wide enhancements.
    An enhancement such as this is completely integrated in the binding editor. You can implement you own checks for the class and choose the names and symbols to be used to display the enhancement in the binding editor.
    Function module
    You can use a function module to implement the Container ® Container binding.
    A function module can use the BOR container interface or the container interface
    The BOR container interface supports compatibility reasons. It is therefore advisable to use the container interface for new function modules for the following reasons:
    ·         The container interface has no restrictions with regard to data types. The BOR container does not support the following data types: REF TO, STRING, XSTRING, fields that are longer than 255 characters.
    ·         No data type conversions are required for the container interface. This improves performance.
    for more info please go through the following link
    http://help.sap.com/saphelp_nw2004s/helpdata/en/7c/b82bcd7b9611d194b80000e82dec10/content.htm
    guess it will surely help
    regards
    ashish

  • Programmed Binding (Container IF) - how to access source container data

    Hi,
    I have created a programmed binding (container IF) using a function module based on SWA_BINDING_TEMPLATE.
    I want to access an element (Meldung) based on BUS2078 (QM notification) from my source container and then retrieve the material from this element.
    When the element is a simple element such as WfInitiator for example I cant retrieve the value using the get method on the source container but when it is a complex element such as a BOR object it does not work. How can I retrieve such data.
    Thanks for your help,
    Emmanuel

    I finally found the answer last week, here is how I have done :
        DATA : l_matnr TYPE matnr.
        DATA : l_string TYPE string.
        DATA: lcx_container TYPE REF TO cx_swf_cnt_container.
        DATA: b_meldung TYPE swf_bor_object.
        TRY.
            CALL METHOD source_container->get
              EXPORTING
                name  = 'Meldung'
              IMPORTING
                value = b_meldung.
            swf_get_property b_meldung 'Material' l_matnr.
          CATCH cx_swf_cnt_elem_not_found .
            l_string = 'cx_swf_cnt_elem_not_found'.
          CATCH cx_swf_cnt_elem_type_conflict .
            l_string = 'cx_swf_cnt_elem_type_conflict'.
          CATCH cx_swf_cnt_unit_type_conflict .
            l_string = 'cx_swf_cnt_unit_type_conflict'.
          CATCH cx_swf_cnt_container INTO lcx_container.
            l_string = lcx_container->t100_msg.
        ENDTRY.
    Emmanuel

  • Runtime binding of JMS object(Queue, COnnection Factory)

    I want to knwo whether runtime binding the JMS Objects(Connection Factory & Destinations)
    is possible in WebLogic server?
    According to Weblogic it only binds JMS Object at the startup of the server using
    a Startup class?
    Thanks a million

    Destinations can be created dynamically.
    check:
    http://edocs.bea.com/wls/docs61/jms/implement.html#1189112
    viswa
    "Rakesh Jaiswal" <[email protected]> wrote:
    >
    I want to knwo whether runtime binding the JMS Objects(Connection Factory
    & Destinations)
    is possible in WebLogic server?
    According to Weblogic it only binds JMS Object at the startup of the server
    using
    a Startup class?
    Thanks a million

  • Binding containe gets reset on button click ?

    Hi All
    In my page i am calling a method of AMIMpl class :
        public void refreshEmpTable(){
          String pRefresh = "Y";
          requeryViewObjectWithBindVariable(getEmp(), "bRefresh", pRefresh);
    and
        private void requeryViewObjectWithBindVariable(ViewObjectImpl pViewObjectImpl,
                                                       String pVariableName,
                                                       String pVariableValue) {
            ViewObjectImpl vo = pViewObjectImpl;
            vo.setNamedWhereClauseParam(pVariableName, pVariableValue);
            vo.executeQuery();
        }And i can see the following log
    <DebugDiagnostic> <print> [12497] DBG: afterActionPerformed :refreshEmpTable
    <ADFLogger> <begin> Refreshing binding container
    <DCBindingContainer> <internalRefreshControl> [12498] **** refreshControl() for BindingContainer :com_xyz_abc_ui_flow_om_omf_omf_prepareSessionSessionPageDef_WEB_INF_com_xyz_abc_ui_flow_om_om_xml_omf
    prepareSession() - default method of the taskFlow
    The button that triggers the refreshEmpTable() of impl class has partial submit as true. What i can see here is it is resetting the task flow. Can some some give a clue as to what i have done wrong here.
    thnks,
    JDev 11.1.1.4
    Edited by: in the line of fire on Jun 22, 2011 5:03 PM
    Edited by: in the line of fire on Jun 23, 2011 11:52 AM

    <ViewObject xmlns="http://xmlns.oracle.com/bc4j" Name="DeptView" Version="11.1.1.59.23" AutoRefresh="true"
    set this value to false if its there... in any of your VO

  • I need to download Runtime Engine 7.1, but I get a 404 error when I try to download from the website.

    I need to download Runtime Engine 7.1, but I get a 404 error when I try to download from the website.

    Are you getting it from this link (assuming Windows): http://joule.ni.com/nidu/cds/view/p/id/703/lang/en? The download link on that page seems to work just fine.

  • I need sample basic data file containing Product,Market,Measures etc

    I need sample basic data file containing Product,Market,Measures etc to load data in to Sample Basic applications. Where can I get this?

    As I am the World Domain Lead for Sample.Basic (this is a joke, btw, it's sort of like being King of my front stoop, and besides, I just made it up) I will note two things about CALCDAT.TXT.
    1) It is not in columnar format, but instead in Essbase free-form data load format as user2571802 notes. This means if you take a look at it with a text editor, it's a bit confusing to read till you realize that it contains all dimensional information in the data file itself. See the DBAG's section on [Data Sources That Do Not Need A Rules File|http://download.oracle.com/docs/cd/E10530_01/doc/epm.931/html_esb_dbag/ddlintro.htm#ddlintro1029529].
    2) CALCDAT.TXT contains level 0 and calculated results. Just load it -- there's no need to calculate it.
    Regards,
    Cameron Lackpour

  • Binding container lifespan

    Can someone explain or point me to a decent description of the lifecycle of the ADFm binding container?
    For example, if I have variables defined within the "variables" variableIterator of a pageDef when do these get initialized and destroyed?
    Is there similarity to one of the memory scopes (request for example)?

    Hi,
    its by request. However, if you load the page then the variable iterator is filled with values during the init context phase, which is after retsore view. So the variable iterator should not be empty if it uses EL to access its values
    Frank
    Edited by: Frank Nimphius on Jan 7, 2010 4:24 PM

  • Event binding (Programmed Binding (Container IF))

    Hello WF gurus !
    I am currenlty trying to trace and debug a WF run and I am having difficulty to understand the binding mechanism of a "Wait for event" step in my workflow.  Here is the story:  Through its execution run, the WF encountered two "Wait for event" step based on the same BOR-Event (ex: BOR = ZISPROCES1 - Event = ABANDON ).  The first occurence is directly is the WF (we will call this WF: WF1) and the 2nd occurence is in a sub-workflow (WF2).  The 2 work items for those 2 "wait for events" steps were created in March 2010, obviously waiting for the same event to occur.  The ABANDON event occured in June 2010 trigerring the execution of both work items waiting for this event.
    When I look at the binding configuration of these "Wait for event" step (Popup screen: Display Binding From Event), I see the following:
    - Under "Workflow" column: Programmed Binding (Container IF)
    - Under "Event 'ABANDON' column: ZCONTAINER_BINDING_MAIL_ISIS
    When I click on the "Programmed Binding (Container IF)" buton, i get a popup screen titled: "Binding Instruction Display" with the following config:
    > Binding Instruction: Container --> Container: Programmed Binding (Container IF)
    > Exit Function Module: ZCONTAINER_BINDING_MAIL_ISIS
    When I look ath the FM ZCONTAINER_BINDING_MAIL_ISIS, I see that it uses three (3) import parameters:
    DATAFLOW_EVENT   TYPE SWA_DAFLOW
    SOURCE_CONTAINER TYPE SWFPARACNT
    TARGET_CONTAINER TYPE SWFPARACNT
    Assumption: Currently, from what I understand, the "Wait for event" step adds an object called "DELETOR" in the container of the workflow it belongs meaning that when the event will occur, the work item associated to these "Wait for event" steps will process and I should expect to have an object called "DELETOR" in the conainer of WF1 and WF2.
    The problem: When I look at my WF log using TCode SWI6, and I look at the container data for each step following the "Wait for event" step (SEND MAIL step), I notice that the WF1's "Send Mail" step container contains an instance of the object called "DELETOR" with data in it.  WF2's "Send MaiL" step also contains an object called "DELETOR" but with mention <No Instance> and I don't understand why...
    QUESTIONS:
    - Where can I see what are the values passed to the FM import parameters ?
    - Does anyone have an idea why in WF1's container, object "DELETOR" is instanciated and holds values and in WF2's container, there is an object "DELETOR" but is not instanciated.
    Edited by: PAQUEJO on Dec 2, 2010 10:04 PM

    Here is the code of FM ZCONTAINER_BINDING_MAIL_ISIS
    FUNCTION zcontainer_binding_mail_isis.
    *"*"Interface locale :
    *"  IMPORTING
    *"     VALUE(DATAFLOW_EVENT) TYPE  SWA_DAFLOW
    *"     VALUE(SOURCE_CONTAINER) TYPE  SWFPARACNT
    *"     VALUE(TARGET_CONTAINER) TYPE  SWFPARACNT
    *"  EXCEPTIONS
    *"      BINDING_ERROR
      INCLUDE <cntn01>.     " macros for accessing BOR objects and container
      INCLUDE <swfcntn01>.  " macros for accessing the new ABAP-OO-container
      TYPE-POOLS: swfbn.
      DATA: my_integer    TYPE        i.
      DATA: lcx_container TYPE REF TO cx_swf_cnt_container,
            l_msg         TYPE        swf_t100ms.
      DATA : l_creator(14).
      DATA : lo_usr01 TYPE swf_bor_object,
             lo_zis   type swf_bor_object.
      IF dataflow_event = swfbn_dataflow_export. " 'E'
    **** 'EXPORT' point of time. This could be:
    **** - workflow container to workitem container (before method call)
    **** - event container to workflow container (event receive or wf start)
    **** - workflow container to role container (before role resolution)
    **** always move data from source to target container
        TRY.
            CALL METHOD source_container->get
              EXPORTING
                name  = '_EVT_CREATOR'                          "#EC NOTEXT
              IMPORTING
                value = l_creator.
    *        ADD 17 TO my_integer.
            swf_create_object lo_usr01 'USR01' l_creator+2.
            CALL METHOD target_container->set
              EXPORTING
                name  = 'DELETOR'                               "#EC NOTEXT
                value = lo_usr01.
          CATCH cx_swf_cnt_container INTO lcx_container.
            l_msg = lcx_container->t100_msg.
            MESSAGE ID l_msg-msgid TYPE l_msg-msgty NUMBER l_msg-msgno
                    WITH l_msg-msgv1 l_msg-msgv2 l_msg-msgv3 l_msg-msgv4
              RAISING binding_error.
        ENDTRY.
      ELSEIF dataflow_event = swfbn_dataflow_import. " 'I'
    **** 'IMPORT' point of time. This could be:
    **** - from workitem container to workflow container (after method exec)
    **** - from workflow container to event container to (raise event)
    **** always move data from source to target container
        TRY.
            CALL METHOD source_container->get
              EXPORTING
                name  = '_EVT_CREATOR'                          "#EC NOTEXT
              IMPORTING
                value = l_creator.
    *        ADD 17 TO my_integer.
            swf_create_object lo_usr01 'USR01' l_creator+2.
            CALL METHOD target_container->set
              EXPORTING
                name  = 'DELETOR'                               "#EC NOTEXT
                value = lo_usr01.
            CALL METHOD source_container->get
              EXPORTING
                name  = '_EVT_OBJECT'                          "#EC NOTEXT
              IMPORTING
                value = lo_zis.
            CALL METHOD target_container->set
              EXPORTING
                name  = '_WI_OBJECT_ID'                               "#EC NOTEXT
                value = lo_zis.
          CATCH cx_swf_cnt_container INTO lcx_container.
            l_msg = lcx_container->t100_msg.
            MESSAGE ID l_msg-msgid TYPE l_msg-msgty NUMBER l_msg-msgno
                    WITH l_msg-msgv1 l_msg-msgv2 l_msg-msgv3 l_msg-msgv4
              RAISING binding_error.
        ENDTRY.
      ENDIF.
    ENDFUNCTION.

Maybe you are looking for

  • Why does Firefox not allow me to access my Kohl's Charge Account

    Every time I try to open my Kohls account I get this message. All other charge accounts Bealls , Belk open fine The connection to the server was reset while the page was loading The site could be temporarily unavailable or too busy. Try again in a fe

  • Console One Authentication (error -748) A Conn Timeout error

    Above error occurs when authenticating to Console One for GW administration. To be precise it occurs when the treename is used, it takes about 45 seconds, end then the error comes. If IP address is input instead of treename there is immediate login a

  • Oracle AVDF Database Firewall - Logs

    Hi all, We are using Oracle Audit Vault & Database Firewall 12.1.0. We are having some issues and we are trying to find log files on the Database Firewall Server (OS). We do know where logs are located in Audit Vault Server, we just need to find out

  • Freemarker Error with Jdev version 11.1.1.1.4.0

    Hi, I am using Jdeveloper version 11.1.1.4.0 for AIA 3.0 development and have added freemarker.jar version 2.3.16 in the lib folder. When I create a requestor/provider abcs using service constructor, i am getting the following error message when i se

  • T-CODE MB1C:Control indicators for controlling area 0002 do not exist?

    Dear all. I want to use the T-CODE MB1C to increase one material's Inventory and the Movement Type was 501.But went I input the material and the quantity,the sap show the error message like below.Is there any one could tell me how to resolve the prob