This discussion is archived
3 Replies Latest reply: Oct 16, 2013 5:10 AM by user10879274 RSS

JCA Polling Adapter not picking up records

user10879274 Newbie
Currently Being Moderated

Hello All

 

I have been trying to configure a JCA polling adapter to pick up records from the Database, the first time I configured it, it read a whole bunch of records. Now I have configured the following in the database and am getting no records being polling.

 

1. Poll for new or changed records

2. Update a field in the table F40g02 for logical delete

3. Read value = READ, UNREAD value = UNREAD, Reserved value = RESERVED

4.Polling interval 5 seconds, Database XROWS per xml document 1, Database Rows per Transaction 10

 

I ran the SQL specified in the adapter and I get a record. Does anyone have any idea.

 

I have seen this warning in the EM

 

Database Adapter <oracle.tip.adapter.db.inbound.IPAddrPollingService getUniqueMarkReservedValue> The markReservedValue of distributed polling might not be a unique value.  To make it so, you can add the last x digits (default = 2) of the host IP address using this format for the MarkReservedValue: [original_val]${IP[-x]}

 

Regards

  • 1. Re: JCA Polling Adapter not picking up records
    user10879274 Newbie
    Currently Being Moderated

    Hello

     

    I have been trying to get it is to work correctly and I am still having issues, I have tried changing the READ and UNREAD values and the values in the database. If I set Read Value and Unread value to PROCESSED nothing polls (I have also tried setting the UNREAD value to another value) if I set only the READ Value to PROCESSED everything polls.  If I enter the Reserved value nothing polls and I can not edit the custom toplink.

     

    To try and get round this if I edit the custom toplink to say not equal to PROCESSED everything still polls and if I set it to equal to PROCESSED nothing polls. This is regardless on what the records in the database say.

     

    If I run the SQL displayed on the screen in the DB with no modifications the right records to be polled show!!!! This is the most annoying part.

     

    I have tried XA connections and Non XA connections, Do Synchronous Post to BPEL, Distributed polling and Delayed commit but still no luck.  As well as this I have tried and failed using IActivatedInstances, Singleton and NumberOfInstance ....  to see whether what some blogs have said helps for any unknown reason but it hasn't so far.

     

    Best Regards

  • 2. Re: JCA Polling Adapter not picking up records
    Karan Mann Journeyer
    Currently Being Moderated

    What problem you are exactly facing ?? After polling for first time, you are not able to poll for second time ?? Are there any records in your table with status as "UNREAD" ?? Did you try inserting new records after firsdt poll with status value as "UNREAD" ??

     

    Read value = READ, UNREAD value = UNREAD, Reserved value = RESERVED

     

    Above configuration means, your DB adapter will only poll for records where status column value is "UNREAD" and after polling it this value will be changed to "READ". Reserved value means clumns having value as "RESERVED" will not be polled.

     

    Can you please explain your exact problem now, so that we may be able to help you.

  • 3. Re: JCA Polling Adapter not picking up records
    user10879274 Newbie
    Currently Being Moderated

    Hello

     

    The problem I am facing is I can't get the records that are processed (already READ) to not poll again despite the value being changed to the READ value configured, if I set the READ value in the configuration it will poll every record all the time despite the fact it is equal to the READ value.  Then if I set the READ value and any other value no records will poll.

     

    Consider 4 records in the DB (currently in test I have 431 but I have used distributed locking and ReturnSingleResultSet to limit it)

    ID = 1, STATUS = PROCESSED

    ID = 2, STATUS = UNPROCESSED

    ID = 3, STATUS = UNPROCESSED

    ID = 4, STATUS = OTHER

     

    Config 1: If READ = PROCESSED records 1,2,3,4 will poll

    Config 2: If READ = PROCESSED, UNREAD = UNPROCESSED no records will poll

    Config 3: If READ = PROCESSED, UNREAD = UNPROCESSED, RESERVED = OTHER no records will poll

    Config 4: If READ = PROCESSED and TOPLINK STATUS not equal string "PROCESSED" then records 1,2,3,4 will poll

     

    What I want is Record 2 and 3 to poll which I believe is config 3 should do. However I believe there have been some changes that relate to distributed polling for clusters in 11.1.1.3 onwards which means in jdeveloper (11.1.1.6) when I go to re-config the db adapter after setting the RESERVED value it disappears from the editor .

     

    JCA properties obviously with a MarkReservedValueand MarkUnreadValue column jumping in.depending on which config I am trying

     

          <property name="DescriptorName" value="dbPollBlockRecords.F40G02"/>

          <property name="QueryName" value="dbPollBlockRecordsSelect"/>

          <property name="MappingsMetaDataURL" value="dbPollBlockRecords-or-mappings.xml"/>

          <property name="PollingStrategy" value="LogicalDeletePollingStrategy"/>

          <property name="MarkReadColumn" value="STATUS"/>

          <property name="MarkReadValue" value="PROCESSED"/>

          <property name="PollingInterval" value="700"/>

          <property name="MaxRaiseSize" value="1"/>

          <property name="MaxTransactionSize" value="10"/>

          <property name="NumberOfThreads" value="1"/>

          <property name="ReturnSingleResultSet" value="true"/>   (This property has been manually configured, will unfortunately poll all records that match without it)

     

    Regards

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points