Active Data Service

I'm looking for information on Active Data Service, or server push.
The only information I found is a Google Talk web client written in ADF (TP4), which no longer works with JDev 11g.
Also, it refers to Appendix H of the manual, which no longer exists.
Can anyone point me out if this actually works and some documentation / sample I can use?
Thanks
Jonny

We removed Active Data Services from the current production JDeveloper 11g - until it is a little better prepared.
Should be back there in the next major JDeveloper release.

Similar Messages

  • How to auto scroll a table to last row when using Active Data Service?  11g

    Hi all,
    Has anyone got any experience with the ADF Active Data Service?
    I am using an af:table in combination with the ADF Active Data Service and I want the table to scroll to the latest row when new data arrives.
    It is basically a simple setup:
    The value attribute of my table points to a bean that extends CollectionModel and implements ActiveDataModel. This works perfectly. A soon as I receive new data in my bean, the table is automatically updated (e.g. a new row is inserted). I use JDev version: 11.1.1.3
    The problem is that I can not get the scroll bar to move down to the last row automatically when new data arrives. The auto scroll only works for the client that actually performs a submit. In other words the person that submits the new data, will see his scrollbar move down, this is because I added the following code:
    RowKeySet rowkeysset = chatTableBinding.getSelectedRowKeys();
    rowkeysset.clear();
    rowkeysset.add(getRowKey());
    AdfFacesContext.getCurrentInstance().addPartialTarget(this.chatTableBinding);
    This does not work for the clients that receive the new data via the Active data model. Apparently the active data service partially refreshes the table, but not in such a way that it sets the selected row to the last row?
    My table definition:
    <af:table value="#{pageFlowScope.chatBean.instantMessagingChatwindowBean}" var="row"
    id="t1" columnStretching="last" rows="10"
    styleClass="AFStretchWidth" autoHeightRows="10" contentDelivery="immediate"
    horizontalGridVisible="false"
    verticalGridVisible="false"
    disableColumnReordering="true" displayRow="last"
    rowSelection="single"
    binding="#{pageFlowScope.chatBean.instantMessagingChatwindowBean.chatTableBinding}"
    inlineStyle="height:80px;">
    p.s.
    The table is used to show incoming chat message.
    I am building a chat client (taskflow) in a Webcenter application. The concept is similar of that presented by Lucas Jellemain in his blogpost on building a Google Talk Client http://www.oracle.com/technetwork/articles/jellema-googletalk-094343.html

    Dan,
    This is a thanks for posting your findings. You saved me quite some time.
    <af:selectBooleanCheckbox id="showOnlyActiveSubscriptions" selected="true"
    label="Show only active services:"
    value="#{servicePortfolioBean.showOnlyActiveSubscriptions}"
    autoSubmit="true" />
    <af:table binding="#{servicePortfolioBean.serviceTable}" ...
    partialTriggers="showOnlyActiveSubscriptions">
    Of course, when I add a "ValueChangeListener" to the selectBooleanCheckbox, the PPR stops working. :( I wonder why?

  • Active Data Service DataUpdateManager is NULL

    Hello,
    I have two pages that make use of the ADF Active Data Service, and sporadically when one of the pages loads it abruptly refreshes itself and loads again. I haven't been able to reproduce this on demand, but when it happens its very distracting, and the following information is logged:
    <LongPollingChannelHandler> <handleError> Active Data Service DataUpdateManager is NULL
    <RichExceptionHandler> <_logUnhandledException> ADF_FACES-60098:Faces lifecycle receives unhandled exceptions in phase RESTORE_VIEW 1
    oracle.adfinternal.view.faces.activedata.IllegalActiveDataStateException: ADF_FACES-60078:Forcing the client to reload the page, because component with ID: pt1:r1:0:pt1:aot1 was not registered for Active Data.
         at oracle.adfinternal.view.faces.activedata.PageDataUpdateManager._startActiveData(PageDataUpdateManager.java:562)
         at oracle.adfinternal.view.faces.activedata.PageDataUpdateManager.startActiveData(PageDataUpdateManager.java:541)
         at oracle.adfinternal.view.faces.context.RichPhaseListener$StartStopADSContextCallback.invokeContextCallback(RichPhaseListener.java:740)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1735)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1627)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1750)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1627)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1750)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1627)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.invokeOnComponent(ContextSwitchingComponent.java:222)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1627)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1750)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1627)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1750)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1627)
         at oracle.adf.view.rich.component.fragment.UIXInclude.invokeOnComponent(UIXInclude.java:161)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1627)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnNamingContainerComponent(UIXComponentBase.java:1693)
         at oracle.adf.view.rich.component.fragment.UIXRegion.invokeOnComponent(UIXRegion.java:625)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1627)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.invokeOnComponent(ContextSwitchingComponent.java:222)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1627)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1750)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1627)
         at oracle.adf.view.rich.component.fragment.UIXInclude.invokeOnComponent(UIXInclude.java:161)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1627)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1750)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1627)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1750)
         at org.apache.myfaces.trinidad.component.UIXDocument.invokeOnComponent(UIXDocument.java:106)
         at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:1321)
         at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:678)
         at oracle.adfinternal.view.faces.context.RichPhaseListener.handleStartAndStopActiveData(RichPhaseListener.java:452)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:487)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:202)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:508)
         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:300)
         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:173)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:125)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:293)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:199)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at com.sps.regression.servlet.ApplicationSessionExpiryFilter.doFilter(ApplicationSessionExpiryFilter.java:55)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
         at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)
         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.wrapRun(WebAppServletContext.java:3715)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    <RegistrationConfigurator> <handleError> ADF_FACES-60096:Server Exception during PPR, #1
    I haven't been able to find any useful information online about what causes this error or how to correct it.
    Additionally, sometimes a backing bean used in each of these task flows is constructed twice, and the following is logged in between the constructions:
    <RichWindowManager> <updateCurrentWindowIdForPartialRequest> No window specified in request
    <SessionDataUpdateManager> <__getPageDataUpdateManager> cannot register active data when window has no name
    Neither of these things happen 100% of the time. Has anyone else experienced either of these issues?
    Thanks,
    Evan Gilbert

    Hi Evan,
    Did you find out what was the cause of the issue ? We have the exact same problem and was looking for a solution. Please let me know if you have found any pointers.
    thanks,
    Jaseer

  • How to refresh a  region using Active Data Service

    Hi,
    I need to refresh the region using ADS.
    I am creating jsff which contains dynamic tables rendering. This jsff is bound to a task flow (having input parameter and refresh property set to "ifNeeded). The bounded task flow is dropped on a jspx as a region.
    Now in order to refresh the region, I need to pass the updated param value, which would cause the region refresh.
    I am able to do so on a button click from jspx page. But I have to make it auto refresh using ADS as per app requirement.
    The issue is "AdfFacesContext.getCurrentInstance return null..if I am using it in startActive Data or changeData Update (where I am using ActiveDataUpdateEvent)".
    Please guide me how can I achieve this.
    I am using Jdev 11.1.1.4.
    Thanks.
    Edited by: 977455 on Jan 3, 2013 7:35 PM

    Hi,
    try a variation of this blog entry: http://matthiaswessendorf.wordpress.com/2010/01/22/flexible-active-data-service/
    Instead of showing a popup, you do the following
    1. set clientComponent=true for the hidden field
    2. configured the PartialTrigger property of the region to point to the hidden component
    If this doesn't work then try this
    1. use <af:clientListener type="propertyChange" method="activeDataCallback" /> as used in the sample
    2. define an af:serverListener that points to a managed bean that has access to the region (RichRegion) instance
    3. The af:serverListener needs to be defined as a child of the outputText
    4. change "activeDataCallback" to queue the server listener event (CustomEvent)
    5. Use the managed bean to refresh the region
    Frank

  • ADF BC and the Active Data Service

    hi
    The OFM Fusion Developer's Guide for Oracle ADF 11g Release 1 (B31974-05) has a section "42 Using the Active Data Service"
    at http://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/adv_ads.htm
    that says "... If you want your components to update based on events passed into ADF Business Components, then you need to use the Active Data Proxy. ..."
    but it does not seem to explain how to use ADF BC and the Active Data Service.
    I have been able to create this example application ...
    http://www.consideringred.com/files/oracle/2010/ActiveDataServiceADFBCApp-v0.01.zip
    ... that does not have a af:poll component (but has moved polling into a managed bean).
      <managed-bean>
        <managed-bean-name>sumSalBean</managed-bean-name>
        <managed-bean-class>activedataserviceadfbcapp.view.SumSalBean</managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>
        <managed-property>
          <property-name>empSumSalVO</property-name>
          <value>#{data.activedataserviceadfbcapp_view_sumSalPagePageDef.SumSal.viewObject}</value>
        </managed-property>
      </managed-bean>This is some code in the SumSalBean class:
    package activedataserviceadfbcapp.view;
    // also based on code found in "ADF’s Active Data Service and scalar data (like activeOutputText)" by Matthias Wessendorf
    // at http://matthiaswessendorf.wordpress.com/2010/01/07/adf%E2%80%99s-active-data-service-and-scalar-data-like-activeoutputtext/
    public class SumSalBean
         extends BaseActiveDataModel
         protected static final String SUM_SAL_NAME = "sumSal";
         protected final AtomicInteger fCurrentChangeCount = new AtomicInteger(0);
         protected long fActiveDataUpdateEventTime;
         protected EmpSumSalVO fEmpSumSalVO = null;
         @PostConstruct
         public void setupActiveData()
              ActiveModelContext vActiveModelContext =
                   ActiveModelContext.getActiveModelContext();
              Object[] vKeyPath = new String[0];
              vActiveModelContext.addActiveModelInfo(this, vKeyPath, SUM_SAL_NAME);
              ScheduledExecutorService vSEService = Executors.newScheduledThreadPool(1);
              vSEService.scheduleAtFixedRate(new Runnable()
                        public void run()
                             if (hasDataChanged())
                                  triggerActiveDataUpdateEvent();
                   3, // let's wait some seconds
                   2, // period between the updates
                   TimeUnit.SECONDS);
         public void triggerActiveDataUpdateEvent()
              setActiveDataUpdateEventTime(System.currentTimeMillis());
              incrementCurrentChangeCount();
              ActiveDataUpdateEvent vEvent =
                   ActiveDataEventUtil.buildActiveDataUpdateEvent(
                        ActiveDataEntry.ChangeType.UPDATE,
                        getCurrentChangeCount(), new String[0], null,
                        new String[] { SUM_SAL_NAME },
                        new Object[] { getSumSal() });
              fireActiveDataUpdate(vEvent);
         public String getSumSal()
              EmpSumSalVO vEmpSumSalVO = getEmpSumSalVO();
              return "" + vEmpSumSalVO.getFirstSumSal();
         protected void startActiveData(Collection<Object> rowKeys,
              int startChangeCount)
         protected void stopActiveData(Collection<Object> rowKeys)
         public int getCurrentChangeCount()
              return fCurrentChangeCount.get();
         protected boolean hasDataChanged()
              EmpSumSalVO vEmpSumSalVO = getEmpSumSalVO();
              return vEmpSumSalVO.hasDataChanged(getActiveDataUpdateEventTime());
         public void setEmpSumSalVO(EmpSumSalVO pEmpSumSalVO)
              fEmpSumSalVO = pEmpSumSalVO;
    }How all this behaves a runtime can be seen in this screencast
    at http://www.screentoaster.com/watch/stUEpQSkxIR19aSV9YW1NRVF9W/activedataserviceadfbcapp_v0_01_zip_demo
    I would welcome comments on how the example application in ActiveDataServiceADFBCApp-v0.01.zip can be improved, or references to information on how this should be done properly.
    question
    (q1) Where can I find some example code that does use ADF BC and the Active Data Service?
    many thanks
    Jan Vervecken

    Jan,
    ADF BC does not natively support ADF yet. Its planned for a next release. The only Data Control that out of the box support ADS is BAM. To use ADF BC with e.g. databae change notifications you
    - create a shared AM
    - Configure the VO to respond to database changes (check box)
    - Configure the database to broadcast changes
    - Use an af:poll component for the refresh because the update would be on the model layer only
    So what is in the documentation is a doc bug. In the current releae you can use ADS best with a POJO model (that you use directly for dashboard use cases). You can though use a POJO data control, but this at the current stage would just act as a pass through for the data access.
    See example 156 on http://blogs.oracle.com/smuenchadf/examples/ for how to do it with ADF BC
    Frank
    Ps.: Of course, the plan is to make everything working out of the box with no developer action required.
    Edited by: Frank Nimphius on Feb 12, 2010 6:56 AM
    Re-read your post. Maybe I need to revise my comment. Are you accessing AM directly or via the ADF layer. If the latter - I did not yet look at your sample - then this may work if you don't release the AM module you access directly (may not scale well)

  • BAM Data Control - Group query with Active Data Service

    Trying to get a group query from a BAM data control to work with Active Data Service in an ADF application (JDeveloper 11.1.1.4.0).
    With a flat query, as the data changes, I can see DataChangeEvents fired, resulting in a data push to the client -
    <BAMDataChangeEventFilter> <log>
    #### DataChangeEvent #### on [DataControl name=CEP_Person_DOB_Flat, binding=data.view_mainPageDef.FlatDOB1.view_pageDefs_FlatDOBViewPageDef_WEB_INF_FlatDOB_xml_FlatDOB.QueryIterator]
    Filter/Collection Id : 1966
    Collection Level : 0
    Event Id : 5
    ==== DataChangeEntry (#1)
    ChangeType : INSERT_AFTER
    KeyPath : [2157, 0]
    InsertKeyPath : [null, 0]
    AttributeNames : [id, _PersonKey, _County, _Surname, _AGE, _DOB, _Country, _FirstName]
    AttributeValues : [2157, 10008/129, Vagzukarbsm, Gnnfzxxyqfgpsijcr, 110, Thu Dec 26 00:00:00 GMT 1901, Ekcqvrkoksr, Vwhm]
    When I try a group query on the same data, currently just trying to group by _DOB for every 10 years to count the number of people, I get no data change events fired, so don't get any data pushed to the client, though the data has been changed if I refresh the page.
    Any ideas ?

    can you include bam and jdev versions and also include exception from logs?

  • BAM Vs Active Data Services

    Hi,
    In our application, we want to achieve dynamic real-time refresh on a table .But we don't want to see any analytics. Which is the better option -BAM /Active Data Services.
    Does usage of Active Data Services guarentee 100% real-time refresh if we set attribute ChangeEventPolicy ='push'.
    Please let us know if anyone has come across any prior investigation done by any other team on this. Any pointers would be appreciated.
    Thanks,
    Angeline

    Hi,
    not sure about the AP you use, in JDeveloper 11g R1 PS1 (11.1.1.2) we provide a proxy framework for this, which has a method
    * builds the <code>ActiveDataUpdateEvent</code>.
    * @param type the change type of the event, could be UPDATE, INSERT,
    * DELETE, REFRESH, etc
    * @param changeCount the changeCount
    * @param key the key of the row (in the CollectionModel case)
    * @param insertKey the key to indicate the insert position
    * @param genericConversion param passed to the internal call of
    * <code>convertKeyPath</code>
    * @param names the names of the attributes to be changed
    * @param values the values of the attributes to be changed
    * @return the ActiveDataUpdateEvent
    public static ActiveDataUpdateEvent buildActiveDataUpdateEvent(
    ActiveDataEntry.ChangeType type,
    int changeCount,
    Object[] key,
    Object[] insertKey,
    String[] names,
    Object[] values)
    The insertKey can be used to specific the key of the row where the new row should be inserted. I did not work with the API set prior to JDeveloper 11g R1 PS1, so all I can say is that if it works with the procy then it works with the manual API as well
    See:
    http://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/adv_ads.htm#ADFFD19611
    Frank

  • Implementing active data service proxy for MySQL database

    Hi,
    I am referring "Oracle Fusion Developer Guide - Building rich Internet Application..." to implement Active data Service to update Af:Table for any change in the MySQL database.
    The book discusses of a class which extends ADS "BaseActiveDataModel" which should handle starting and stopping of active listener and listener registration.
    1. Does this class is sufficient to detect changes coming from MySQL database or is it specific to Oracle database?
    2. Also the book does not discuss about the code for starting stopping or registering active listeners. Can someone guide me to some reference material or to a right place which explains me what kind of code does these methods require?
    3. Also I wonder if anyone knows, if we can differentiate between events generated from different database tables. (I guess we need to do that by using 'instanceof' operator and comparing ViewObjects from my project).
    (Just trying to develop my understanding around various ADF concepts.)
    Thanks!!
    (Have also referred http://technology.amis.nl/2012/06/18/notifying-adf-applications-of-database-changes-fast-and-lean-using-database-query-result-change-notification-part-one/
    not sure if that's the way I need to register the listener. ADF should have made that easy.)
    Edited by: 996574 on May 23, 2013 3:11 PM

    Above link seems helpful to find good blogs.
    Especially following blogs looks good;
    http://adfwithejb.blogspot.com/2012/12/active-data-serivce-with-data.html
    http://adfwithejb.blogspot.com/2012/12/active-data-service-with-active-image.html
    Thanks Shay Shmeltzer!

  • Active Data Service settings per component "instance"?

    Is there any way to configure active data service settings on a per component "instance" basis? I think it would be very useful to be able to have different polling intervals for different components for example. Especially due to the obvious performance concerns around this type of functionality.

    Also regarding Active Services, I see the blurb in the pdf's Section 40 "Using the Active Data Service":
    [[Insert xref
    to OTN for info on creating data controls and any info about making BC components
    work with active data, also xref to JEE book]].
    Is there any documentation, info, or examples of using a BC view in conjunction with Active Data Service? In other examples I usually see something triggering the "event", but with a BC is there a mechanism where a data update creates an event (via something built-in - nothing programmatic). I could do some type of listener that checks for data updates and then creates the event, but I'd like to think I can get that for "free" with the framework.

  • Active data services

    hey,
    I'm using active data services to update a table component with the use of database change notifications. I've been able to display the changes in the database as they take place. The problem is that the newly inserted data will be added at the end of the table and if I want to add it at the beginning or in some other place it would be difficult to change the HashMap (will reduce the performance) to include the new row data (I will have to push the values in the hashmap and add the new at the beginning so that it will be displayed at the beginning of the table).
    So the basic question is how can I do it more efficiently?
    Is it possible to use some other data structure where it will be possible to add the data to a position which will automatically push the other values?
    Edited by: mangun on Nov 19, 2009 5:05 PM

    Hi,
    not sure about the AP you use, in JDeveloper 11g R1 PS1 (11.1.1.2) we provide a proxy framework for this, which has a method
    * builds the <code>ActiveDataUpdateEvent</code>.
    * @param type the change type of the event, could be UPDATE, INSERT,
    * DELETE, REFRESH, etc
    * @param changeCount the changeCount
    * @param key the key of the row (in the CollectionModel case)
    * @param insertKey the key to indicate the insert position
    * @param genericConversion param passed to the internal call of
    * <code>convertKeyPath</code>
    * @param names the names of the attributes to be changed
    * @param values the values of the attributes to be changed
    * @return the ActiveDataUpdateEvent
    public static ActiveDataUpdateEvent buildActiveDataUpdateEvent(
    ActiveDataEntry.ChangeType type,
    int changeCount,
    Object[] key,
    Object[] insertKey,
    String[] names,
    Object[] values)
    The insertKey can be used to specific the key of the row where the new row should be inserted. I did not work with the API set prior to JDeveloper 11g R1 PS1, so all I can say is that if it works with the procy then it works with the manual API as well
    See:
    http://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/adv_ads.htm#ADFFD19611
    Frank

  • Looking for Active Data Service samples with RDBMS change notification fire

    Hi,
    I am looking for samples/examples of Active Data Service when a server side event, like RDBMS change notification got triggered.
    The ADS samples that I found so far are:
    - Twitter http://www.oracle.com/technetwork/developer-tools/jdev/learnmore/65-activedataservicestwittersample-191314.pdf
    - http://adfwithejb.blogspot.com/2012/12/active-data-service-with-active-image.html
    - http://adfwithejb.blogspot.com/2012/12/active-data-serivce-with-data.html
    But these samples do not demonstrate how RDBMS change notification got triggered got triggered. The last two samples have a Runnable class that simulate the triggering, and the Twitter example is twitter stream notification.
    Please shed some lights on Active Data Service with RDBMS change notification got triggered.
    Thanks
    -Mina

    Hi Mina,
    Check this 2 resources, first a presentation made at OOW by Lucas Jellema: http://www.slideshare.net/lucasjellema/push-to-the-limit-rich-and-proactive-user-interfaces-with-adf-oracle-open-world-2011
    second an interesting forum thread around the the topic: ADF BC and the Active Data Service using af:table from what I know this is still valid as of today.
    After reviewing the topic there is also one more link that address this topic:
    http://technology.amis.nl/2012/06/18/notifying-adf-applications-of-database-changes-fast-and-lean-using-database-query-result-change-notification-part-one/?utm_source=rss&utm_medium=rss&utm_campaign=notifying-adf-applications-of-database-changes-fast-and-lean-using-database-query-result-change-notification-part-one
    Thanks,
    JC
    Edited by: Juan Camilo Ruiz on Jan 9, 2013 2:57 PM

  • How to use ADF Active Data Service

    Hi All,
    I have one requirement.
    I have one BPEL Webservice which is generating some Events, after that the data is going to save in Database.
    Now i want to display this data on UI whenever there is new event is occurred. So I am going to use ADS.
    Please help me how can i do this or if anyone has some good documents which will be very helpful.
    Thanks,
    Vijay

    In case, you have not looked into it, Take a look at ADF Fusion Developer's guide:
    http://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/adv_ads.htm#BEIDHJFD
    Thanks,
    Navaneeth

  • Problem with the output ports of the data service !!!!! attention

    Hi,
    I have created a functional module x using abap programming.
    The functional module x with  one input and one  output table.It successfully executed in abap.
    Later i activated and used it in  visual composer 7.1 .It worked perfectly fine.
    The input port displayed was :Hollow Diamond shape
    The output port displayed was: Filled Square shape.
    Then i thought of changing the abap program by adding one more input and one more output table.
    So i have two inputs and tow output tables.
    The abap program exceuted correctly.
    But when i used it in visual composer 7.1 . It didn't work.
    As
    The input port displayed was :Hollow Diamond shape ( correct )
    The output port displayed was: Filled circle shape.( Not a correct display ).
    So i couldn't drag the table output from the circled port.
    But When i test the data service then it gives perfect results.
    Later i created a new functional module Y with same  two inputs and same two output tables. It worked fine.
    Please help me . When ever i add new tables to already activated data service i face the same problem.
    Kindly advice.
    Regards
    Tekumalla

    Hi,
    Following is an image of a slide describing the port types in Visual Composer:
    http://img116.imageshack.us/img116/2465/portshapesrt7.png
    Which port is appearing on your service?
    Would it be possible for you to send a screen shot of your service in VC?
    Thanks,
       Shai

  • Active data framework

    Hi
    I am in the process of trying to prototype a screen that reflects committed changes made to the database.
    For example I have some rows that have theirs status's changed.
    I understand the "push" technology is called "active data framework"/
    What I need is a small example of how this can be implemented. I can only find a couple of posts on the internet and they are vague.
    (see http://matthiaswessendorf.wordpress.com/2009/12/05/adf-faces-and-server-side-push/
    and Active data services
    They talk about adding components that I cannot see in Jdeveloper (version 11.1.1.2). Also it appears the data must be complient with this push technology too.
    I hope this can be acheived easily. I remember listening to a podcast from Duncan Mills. He made it seem so easy.
    Any thoughts would help thanks.
    regards
    darren

    Hi
    thanks for the links
    I am starting simple with trying to get a table to "twinkle".
    I thought I would use BAM rather than fuss around with the proxy stuff (at the moment at least).
    To create an Oracle BAM connection:
    1. Select New from the File main menu in Oracle JDeveloper.
    The New Gallery dialog opens.
    2. Choose Connections from the General category.
    3. Select BAM Connection in the Items list, and click OK.
    The BAM Connection wizard opens. .....................................
    Unfortunately there is no BAM connection option. I guess is should be between "Application Server Connection" and "Database Connection"
    This may really be another post although I guess it is still relevant to the original question of how to set up an easy example of ADS.
    Thanks
    Darren

  • Install of Data Services as active/passive behind F5 load balancers

    I currently have two RedHat 5.5 x86_64 hosts, SAP_DS1 and SAP_DS2, and 1 database, Oracle RAC 11g and 1 F5 LTM load balancer sitting in front of the two hosts. The F5 load balancer VIP is set up as active/passive (fail-over) for the two hosts.
    Will I need 2 local databases 1 central database or can I accomplish this with one local database?
    Please advise on the recommended method for installing BOBJ DATA SERVICES XI 3.2 on two Linux hosts in an active/passive design.
    Thanks

    You might have better luck asking this question in the (somewhat misnamed) [Data Integration and Data Quality Management|Data Services and Data Quality; forum:
    This forum is dedicated to topics related to SAP BusinessObjects Data Services (Data Integrator, Data Quality Management, Text Data Processing), SAP BusinessObjects Information Steward (Metadata Management, Data Insight), SAP BusinessObjects Rapid Marts and SAP BusinessObjects Data Federator.
    (emphasis added)
    Regards,
    Sean
    P.S. to moderators: can you create a sticky post to this effect?

Maybe you are looking for

  • Arraylist and string split help

    i want to add items from a textfile into an array list here is the txt file Title,Artist tester,test rest,test red, blue here is the code i am using try{   FileReader fr = new FileReader(fileName); BufferedReader br = new BufferedReader(fr); String s

  • Bottom border of tab bar is missing in active tab

    I tried Classic Theme Restored and most of it works well, but it's like I have to choose between every tab having a very small border (tabs not on top 1), or tabs having a thick gray border like in 16... EXCEPT the actie tab. (tabs not on top 2.) Can

  • Disk space for OS X 10.4.8 installation

    Hi, I erased the mac installation and reinstalled the 10.4.8 OS x, It simply installs all the applications with out users intervension. Mac installation occupied a disc space of 16GB. I used the disc1 and disc2 of OS X 10.4.8. My intention is to load

  • Web Service to Query with 21 Columns and up to 1000 Rows

    Hi Experts, I have a web service to a query that returns a table of 21 Columns and up to 1000 Rows. I would like to display this data in an UI element such List view / Spreadsheet table. When I am doing so, I have the following issues: 1. With the Sp

  • SWF Viewer Syntax

    Hi, I have some SWF files created using Captivate that we wish to publish to an INTRAnet site. On this site we have the benefit of knowing that ALL users have a local network drive available as the mapped "I:" drive. We'd like to distribute the SWF f