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)

Similar Messages

  • Differences between the Portal Data Collector and the Activity Data Collect

    Hello,
    I want to know what are the differences between the Portal Data Collector and the Activity Data Collector?
    Best Regards.
    Pablo Mortera.

    All of my SQL Server instances  are sql server 2008r2 standard edition(10.50.2500). MDW is existing database, I try to setup collection sets for multiple instances and store data in one central MDW database 
    I create MDW in one instance, then run run configure Management Data Warehouse in target intance. collection sets were created successfully, but job failed with following error:
    Executed as user: COCAD\INTDEPT01SQLAgentC10. The Management Data Warehouse version "00.00.0000.00" is not supported by the current data collector. Please upgrade the Management Data Warehouse by running the Management Data Warehouse Configuration
    Wizard.  Process Exit Code 5.  The step failed.
    Thanks
    PAULqaz

  • No phoneline,No broadband and the activation date ...

    I recently switched from Sky to BT as I was having an issue with my broadband and phoneline that Sky were far from helpful about. Sky took 5 weeks to fix a fault on the phoneline after many promises and many times an engineer didnt turn up when promised.Ive checked the test socket and done all the test.Now im being messed about by BT and im now wondering is this a very normal thing all company's do now.First sky and now BT,who next if I decide to change again??
    My equipment (HH4) and activation email arrived on 18th September to say everything was ready to go.
    I followed the steps that came with the equipment, but the Hub light never returned to blue. It is stuck on orange and the broadband light is flashing red. Also the phoneline is completely dead and still and its getting towards 2am now.Thing is know all the connections and the phone cable works because Sky finaly fixed the phoneline 2 weeks ago after 5 weeks waiting to get it fixed and its been perfect since and the engineer sent 2 weeks ago put a new cable from the mast to the flat and fitted a new phone socket so BT cant give me the **bleep** my line or equipment is faulty because that would be bull **bleep**! The sky phoneline and broadband went off yesterday morning then a few hours later got texts from bt to say the phoneline and broadband is now active and is ready to use.I even changed the filters over BT sent with the new home hub.I plugged the phone directly in to the test socket and nothing,its completely dead!
    Solved!
    Go to Solution.

    As you have moved from sky to bt, I suspect it will be something to do with the disconnection of the sky equipment in the exchange, and the connection to the bt equipment. If you try that number later on today, hopefully they will get it sorted. also there will be more experienced posters on here, that will probably be able to help you further.......
    They have to sleep sometime..........
    Don't forget that the only people you'll find on here, is customers that have had some sort of problem. There are going to be many, many others who don't have problems. I had a problem with errors/interference, and with the help of this forum, was able to minimise the effect on my connection........
    If you found this post helpful, then please click the star on the left, after all, I'm only trying to help........

  • 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 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 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.

  • Protocal between ADF Business Service (ADF -AM) and the ADF Faces Model.

    Hi,
    Anyone knows how the communication is happening between ADF-AM and the ADF Faces model ? I mean the protocol? Is it handling by the application server container with the help of ADF libraries?
    I knew in ADF Faces and EJB the communication is hap[ping via RMI/IIOP (standard EJB call). But in the ADF BC and application module i am bit confused about the access. I knew we can expose the AM as state full session bean. But by default how that is happening. Experts please help me to understand the architectural concept of this.
    -t                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

    Hi,
    the question is not basic and valid too. Just wanted to understand the motivation behind it
    For bc4j i am not sure. can we full fill the above deployment scenario?
    Yes, you can. ADF BC allows you to deploy the business service as an EJB 2.1 model and then have the Data Control hooking up to it (JNDI).
    Apart from this i would like to know the communication protocol (by default) between ADF BC application module and the view model which is the data control. In ejb when we create the data control we can specify that is Local or remote ( Some people said the EJB binding is not full supported in some cases but for ADF-bc it is). But how this is happening in the ADF-BC.
    It would work like a normal EJB client. The ADF BC client interface would reside on the web tier and access the remote business service. So there is nothing different here than when using EJB. However, not that it uses EJB 2.1 still and that we don't see customers using this approach in a web deployment. It made lots of sense (performance) in desktop application development with ADF BC, but in web application development a remote business service access doesn't seem to be state of the art (and even using straight EJB you would use the local interface and have the business service model reside on the same machine as the web module)
    Frank

  • Why is the signal at my home so much weaker than when I moved here in February 2013?  I only get one or two bars and very poor data service if any at all.

    Why is the signal at my home so much weaker than it was when I moved here in February 2013?  I get only one or two bars and very poor data service if any at all.  Calling to ask the question results in a vortex of questions that have little to do with the problem and no  resolution or answer.

    I have a Droid Ultra phone.  The signal reduction seems to only be in the general area of my home.  If I go downtown, the signal improves to what it once was at home.  Everything at my home is as it was when the signal was good, including cable TV service.  There has been no new construction in the area that I know of.
    Thanks for trying to resolve the issue.  Just this morning while trying to view web pages, I found that I could not load any.
    Ron

  • 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

  • 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?

  • 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

    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.

  • 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

  • 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

  • Whats the difference between the activation date &...

    Ive been given an activation date of the 7th but the engineer appt is for the 14th!
    What is there to activate if there is no line? 
    Solved!
    Go to Solution.

    The activation date will be when the exchange equipment is activated, in some cases if the external cabling exists there will be no need for the engineer to attend. So check your line after the 7th and if it works call the service dept back as you then may not need an engineering visit.
    You may also get a reduction on the installation cost.
    (If I have helped you in any way to say "Thank You" please click on the star next to the message. Thank You)
    If I have solved your Issue please click the "Mark as accepted solution" button.

Maybe you are looking for