0 Replies Latest reply: Dec 19, 2011 3:52 AM by 811044 RSS

    Poll the new or changed records use DB Adapter in OSB Cluster

      I have an OSB Cluster which is included two servers: osbServer1 & osbServer2.
      I need to poll a view V_TMS_GOODS, and I use the "SequencingPollingStrategy" to implement it. The following is my JCA config:

      <adapter-config name="getGoodsInfoFromERP" adapter="Database Adapter" wsdlLocation="getGoodsInfoFromERP.wsdl" xmlns="http://platform.integration.oracle/blocks/adapter/fw/metadata">

      <connection-factory location="eis/DB/shaphar" UIConnectionName="shaphar" adapterRef=""/>
      <endpoint-activation portType="getGoodsInfoFromERP_ptt" operation="receive">
      <activation-spec className="oracle.tip.adapter.db.DBActivationSpec">
      <property name="DescriptorName" value="getGoodsInfoFromERP.VTmsGoods"/>
      <property name="QueryName" value="getGoodsInfoFromERPSelect"/>
      <property name="MappingsMetaDataURL" value="getGoodsInfoFromERP-or-mappings.xml"/>
      <property name="PollingStrategy" value="SequencingPollingStrategy"/>
      <property name="SequencingColumn" value="LAST_MODIFY_DATE"/>
      <property name="PollingInterval" value="60"/>
      <property name="MaxRaiseSize" value="50"/>
      <property name="MaxTransactionSize" value="unlimited"/>
      <property name="NumberOfThreads" value="1"/>
      <property name="ReturnSingleResultSet" value="false"/>
      <property name="SequencingTable" value="EDI_TRANS_TIMELOG"/>
      <property name="SequencingTableKeyColumn" value="TRANS_TYPE"/>
      <property name="SequencingTableValueColumn" value="LAST_TRANS_DATE"/>
      <property name="SequencingTableKey" value="V_TMS_GOODS"/>

      The question is:
      If I check the "Distributed Polling" box in the JCA Configuration Wizard, the sequence table will have two records for the polling Sequencing, just like the following:

           V_TMS_CLIENT     2011/12/19 16:23:36     
      V_TMS_CLIENT     2011/12/19 16:23:36

      If I don't check it, the records is single
      And weither I check "Distributed Polling" box or not, the two servers will poll the view twice(one server one times); For example: There are one thousand records in this view, but all the records will be polled twice by the osbServer1 & osbServer2. Finally the client will get tow thousand duplicate records。

      So, how can I make a balance with the two servers or use the one server to execute the polling?

      Thank you for your help!