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!

Similar Messages

  • 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

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

  • 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

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

  • 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

  • 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

  • DB link problem between active Data Guard and report application database

    My database version in 11.2.0.2.0 and OS is Oracle Solaris 10 9/10.
    I am facing a problem in my Active data guard Database for reporting purpose. Active Data guard information is as below.
    SQL> select name, database_role, open_mode from v$database;
    NAME DATABASE_ROLE OPEN_MODE
    ORCL PHYSICAL STANDBY READ ONLY WITH APPLY
    Problem detail is below
    I have created a db link (Name: DATADB_LINK) between active data guard and report application database for reporting purpose.
    SQL> create database link DATADB_LINK connect to HR identified by hr using 'DRFUNPD';
    Database link created.
    But when I run a query using db link from my report application database I got this below error.
    ORA-01555: snapshot too old: rollback segment number 10 with name "_SYSSMU10_4261549777$" too small
    ORA-02063: preceding line from DATADB_LINK
    Then I check Active Data Guard database alart log file and get below error
    ORA-01555 caused by SQL statement below (SQL ID: 11yj3pucjguc8, Query Duration=1 sec, SCN: 0x0000.07c708c3):SELECT "A2"."BUSINESS_TRANSACTION_REFERENCE","A2"."BUSINESS_TRANSACTION_CODE",MAX(CASE "A1"."TRANS_DATA_KEY" WHEN 'feature' THEN "A1"."TRANS_DATA_VALUE" END ),MAX(CASE "A1"."TRANS_DATA_KEY" WHEN 'otherFeature' THEN "A1"."TRANS_DATA_VALUE" END )
    But the interesting point if I run the report query directly in Active Data Guard database, I never got error.
    So is it a problem of DB link between active Data Guard and other database?

    Fazlul Kabir Mahfuz wrote:
    My database version in 11.2.0.2.0 and OS is Oracle Solaris 10 9/10.
    I am facing a problem in my Active data guard Database for reporting purpose. Active Data guard information is as below.
    SQL> select name, database_role, open_mode from v$database;
    NAME DATABASE_ROLE OPEN_MODE
    ORCL PHYSICAL STANDBY READ ONLY WITH APPLY
    Problem detail is below
    I have created a db link (Name: DATADB_LINK) between active data guard and report application database for reporting purpose.
    SQL> create database link DATADB_LINK connect to HR identified by hr using 'DRFUNPD';
    Database link created.
    But when I run a query using db link from my report application database I got this below error.
    ORA-01555: snapshot too old: rollback segment number 10 with name "_SYSSMU10_4261549777$" too small
    ORA-02063: preceding line from DATADB_LINK
    Then I check Active Data Guard database alart log file and get below error
    ORA-01555 caused by SQL statement below (SQL ID: 11yj3pucjguc8, Query Duration=1 sec, SCN: 0x0000.07c708c3):SELECT "A2"."BUSINESS_TRANSACTION_REFERENCE","A2"."BUSINESS_TRANSACTION_CODE",MAX(CASE "A1"."TRANS_DATA_KEY" WHEN 'feature' THEN "A1"."TRANS_DATA_VALUE" END ),MAX(CASE "A1"."TRANS_DATA_KEY" WHEN 'otherFeature' THEN "A1"."TRANS_DATA_VALUE" END )
    But the interesting point if I run the report query directly in Active Data Guard database, I never got error.
    So is it a problem of DB link between active Data Guard and other database?
    Check this note which is applicable for your environment
    *ORA-01555 on Active Data Guard Standby Database [ID 1273808.1]*
    also
    http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:8908307196113

  • 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

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

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

  • Difference between passive and active data connection mode for  FTP

    Hi,
    Does any body have the idea of passive and active data connection mode for the transport protocol FTP.
    I have one server with FTP, I have to pick the data from this FTP to XI.
    What is the difference between active and passive data connection? Does XI supports both the connections?
    Thanks & Regards
    Katta Mohan Reddy

    Hi
    According to SAP Note - 821267
    Q: Does the File Adapter support active data connections when connecting to an FTP server?
    A: Up to and including SP14, the File Adapter exclusively uses passive data connections. Starting with SP15, active connections will be available.
    Difference between active and passive,
    You can definitely refer to the site mentioned by Suraj
    cheers
    Sameer

  • Error when generating Web Services Proxy for SCA Application Module

    Hello,
    I'm trying to create Web Services for a simple Application Module with JDeveloper 11g (11.1.1.3.0).
    I start a new ADF Project, I create an Application Module as simple as possible : it contains only a simple View Object on the DEPT Entity.
    On my Application Module, I choose "Service Interface" and I add my View Object in the service interface.
    I test my Web Service in the Embedded Weblogic Server, it works well. (I succeed in using the Get operation, for example).
    But when I try to generate a Web Service proxy (right-click on the WSDL File -> Generate Web Service Proxy), It always fail with such errors :
    oracle.jdeveloper.webservices.tools.WsdlValidationException: Error creating model from wsdl "file:/C:/JDeveloper/mywork/ApplicationAppelServiceSCA/Model/src/model/common/AppModuleService.wsdl": 'unset' is already defined'Bytes' is already defined'ref' is already defined'Duration' is already defined'Types' is already defined'Character' is already defined'type' is already defined'Day' is already defined'nestedInterfaces' is already defined'Date' is already defined'datagraph' is already defined'Type' is already defined'Integer' is already defined'ModelsType' is already defined'ChangeSummaryType' is already defined'instanceClass' is already defined'Month' is already defined'DataObject' is already defined'javaClass' is already defined'LongObject' is already defined'DateTime' is already defined'dataObject' is already defined'YearMonth' is already defined'ShortObject' is already defined'Long' is already defined'types' is already defined'JavaInfo' is already defined'IntObject' is already defined'Boolean' is already defined'DoubleObject' is already defi...
    Can someone help me to understand this error ?
    i never manually edited the WSDL File, so I don't understand why the generated WSDL or XSD files might contain errors.
    Thanks for your Help,
    Laurent

    We have the same problem, and the problem was in the xsd import:
    The wdsl import a schema that import other schema, the second import use a relative path, that was wrong.
    So check the xsd import sequence....

  • Creating a Web Service Proxy for a transaction with Microsoft Visual Studio

    Hi experts out there,
    I have created a simple transaction which I'd like to call as a webservice. Getting the WSDL from an authenticated browser (from which I started the xMII Workbench) works fine. But when I try to create a Web Reference within my Visual Studio project I only get the following output:
    "XacuteWS" Description
    Methods
    Xacute ( LoginName As string ,  LoginPassword As string ,  InputParams As InputParams ) As Rowset
    I think this is because my visual studio is not authenticated with the xMII server. So is there any way to achieve this? I have to find a way to generate a .NET proxy for out xMII web services because otherwise it would be too complicated to use the web services from within our .NET applications.
    Thanks in advance for any hint on this topic!
    Achim

    Two comments:
    1) The generated proxy looks correct.  If you explore the generated code for the InputParams object and the Rowset object, they should represent the incoming and outgoing data structures for your transaction.  If not, and if you are returning an XML property type from the transaction, be sure that you have used the "Assign Reference Document" technique to tell MII what the structure of your outgoing document is (there are a few other discussion threads on that topic).
    2) Personally, I find it much easier to consume MII services from .NET code using a URL-based technique instead of a SOAP based technique.  Invoke the "Runner" servlet (see the documentation) and you'll get an XML document back, that will always be in the MII Rowsets/Rowset/Row format.  Also, it is "self describing" because it includes Column metadata information.  It is very trivial to load this into a .NET XmlDocument object and parse/process it.  In fact, doing a similar approach, I've been able to make MII services appear as ADO.NET tables/stored procedures to .NET code.
    Rick

Maybe you are looking for

  • .dng files not showing as thumbnails in Mac Finder

    Hi. I'm in the process of converting to Lightroom for my photos on my Mac, and when I've downloaded the sample .dng files for the tutorials I notice that they do not appear in my Mac Finder folders as thumbnails. Clearly this is a bit of a disadvanta

  • Internal order -  restrict charges

    How do I restrict the charges to an internal order ?   I want to use a new order type but restrict its use by Responsible cost centers and or cost type ( ie  only Investment management cost centers  and non labor only )   Do not want the order  open

  • Error : java.lang.NoSuchMethodError: oracle.xml.parser.v2.

    Hello, We have installed successfully XSQLServlet engine and configured Apache server as per release document. When we tried to run xsql/demo/helloworld.xsql we are getting following error. Am I missing any classpath in jserv.properties? Any pointers

  • Can i sync iPod touch 3rd generation (5.1.1) to my mac if I upgrade to mountain lion?

    I need to upgrade my Mac to Mountain Lion so I can use Lightroom 5.  If I do this will I still be able to sync my (rather old but in perfect working order)  iPod touch 3rd generation version 5.1.1 to my iTunes?

  • Why are iPad Notes appearing on my Mail Archive?

    I entered a sensitive item in Notes on my iPad and nowhere else. Today that item has appeared on my iMac in a Gmail Archive folder on Mail. Why on earth should there be any connection between these two functions on different machines,  and how much e