Polling flag....?

Hello
Could Plz.. explain me what is a polling flag and how it works in process chain?(i bit confused with its definition)
clear me regarding this.
thanks and regards
dj reddy.

I think it means that..
if there are distributed processes in a chain..(example is loading process)..then the starting background process keeps on polling(or checking) the system for completion of other processes and does not get released until other processes(in other sessions) are complete.
See help text from system..
The main process waits until other proceses have finished
Use
If the chain contains distributed processes (for example, a loading process) you use this indicator to specify whether you want to hold back the starting background process until the actual work process is complete in other internal sessions, or whether you want to release it immediately.
Setting the indicator has the following advantages:
External scheduling tools that react only to the SAP internal event 'Batch Process Complete', are also informed about the status of distributed processes.
Very secure process runs. The starting background process asks about the status of the current processes every two minutes (polling).
Setting the indicator also has the following disadvantages:
Increased demand on resources. Although the CPU is not under pressure during the waiting time, it is during the status checks that run at two minute intervals.
You require one more background process.
Note:
If you implement a distributed process and want to use this indicator, implement the interface IF_RSPC_GET_STATUS and refer to the documentation for the HOLD-Indicator.
cheers,
Vishvesh

Similar Messages

  • Polling flag in the Process Chain

    Hello Gurus,
    What is the meaning of the polling flag in the Process Chain attributes?
    When and why do we use it?
    Please explain with scenarios, examples, pros and cons.
    It’s my pleasure to award points,
    Thanks and best wishes,
    i-bi

    hi,
    polling flag is an attribute of a process chain.
    With this indicator you can control the behavior of the main process when you have distributed processes. Distributed processes, such as the loading process, are characterized as having different work processes involved in specific tasks.
    With the polling flag you determine whether the main process needs to be kept as long as the actual process has ended.
    By selecting the indicator,
    a high level of process security is guaranteed, and
    external scheduling tools can be provided with the status of the distributed processes.
    However, the resource use of the system is increased and a background process is more necessary
    hope it helps,
    regards,
    yunus

  • What is polling flag in process chain

    Hi everbody,
    What is meant by polling flag in process chain.
    Points will be awared generously
    Thanks in advance

    polling flag is an attribute of a process chain.
    With this indicator you can control the behavior of the main process when you have distributed processes. Distributed processes, such as the loading process, are characterized as having different work processes involved in specific tasks.
    With the polling flag you determine whether the main process needs to be kept as long as the actual process has ended.
    By selecting the indicator,
    a high level of process security is guaranteed, and
    external scheduling tools can be provided with the status of the distributed processes.
    However, the resource use of the system is increased and a background process is more necessary
    refer:
    Polling flag....?

  • Polling query

    Hi all,
    I am facing two problems in polling.
    1. I want to select fields from more than one table. Is that possible in polling designing steps.
    2. Currently I am using the Logical Delete in polling. The problem is, polling flag is getting updated even when my instance is not executing successfully. How I can remove this problem.
    Thanks.
    Edited by: vicky_007 on Sep 14, 2009 11:25 AM

    Is anybody here to reply :(

  • DB Adapter Polling with Reserved Value in SOA 11.1.1.6

    Hi Experts,
    I am currently working on DB Adapter Project in SOA 11.1.1.6. The project I am working on is deployed on SOA Cluster environment and accesses a RAC (Multi) datasource
    Due to volume of data, I have set the NumberofThreads as 10 for the Polling DB Adapter.
    Because of this configuration, its currently sending the duplicates to Target system, I have set the Distributed Polling Flag and Singleton property for the adapter, still its posting duplicates.
    We planned to use the RESERVED VALUE concept for this approach.
    I am using a connection pool where the UsesSkipLocking is set to FALSE and pointing to the same RAC DataSource. The Algorithm Type for Multi DataSource in LOAD-BALANCING
    In DB Adapter, I have set the RESERVED VALUE string R${weblogic.Name-2}-${IP-2} and unchecked the Distributed Polling Flag.
    Its updating the polling column from UNREAD VALUE to RESERVED VALUE and after that its not polling the records. Instances are not getting created in SOA.
    Please can you help me in this regards, Thanks very much.
    RK.

    Hi Experts,
    Please can you provide your suggestions / inputs regarding the above post.
    Appreciate your help Thanks in Advance.
    Thanks - RK.

  • DB Adapter Polling Issues - causing  DB Locks

    Hi Experts,
    I am working on project in SOA Suite 11.1.1.6 environment.
    In my project I have used DB Polling which has following settings
    <property name="DescriptorName" value="XXXXXXXXXXX"/>
    <property name="QueryName" value="XXXXXXXXXXXXXXXXXXXXX"/>
    <property name="MappingsMetaDataURL" value="XXXXXXXXXXXXXXXXXXXX.xml"/>
    <property name="PollingStrategy" value="LogicalDeletePollingStrategy"/>
    <property name="MarkReadColumn" value="PROCESS_FLAG"/>
    <property name="MarkReadValue" value="P"/>
    <property name="MarkUnreadValue" value="Y"/>
    <property name="PollingInterval" value="20"/>
    <property name="MaxRaiseSize" value="1"/>
    <property name="MaxTransactionSize" value="10"/>
    <property name="NumberOfThreads" value="1"/>
    <property name="ReturnSingleResultSet" value="false"/>
    The problem is when I update 25 records, the last 5 records are not getting processed and its just stuck there. It just shows DB Adapter Instance in the Composite Instance and the record is locked.
    I am using Multi DataSource configuration with 3 Load Balancing Database Instances on SOA Clustered Environment. I have DISTRIBUTED POLLED flag checked in the DB Poller Adapter
    If I update records less than 20, the polling frequency then its working fine. If I update more than 20 then its causing issue of locks.
    Thanks in Advance

    Hi All,
    Issue resolved by setting the <property name="NumberOfThreads" value="1"/> value to 10
    Thanks

  • How Biztalk Engine come to know through WCF-Sql Adapter that new record was added in Sql Table?

    Regards Ravin

    WCF-SQL adapter for receiving polls the the DB to fetch records. Its not by intelligence that the adapter will know that a new record is added.
    Your db and table design and the poll querry has to be intelligent enough to pull in new records from the table and not the already processes or polled records.
    Something like a poll flag for processed records.
    Regards
    When you see answers and helpful posts,
    please click Vote As Helpful, Propose As Answer, and/or Mark As Answer

  • Polling on status flag using Informatica

    Hi Informatica guru's
    how can Informatica workflow do polling (10 attempts MAX) on the status flag of a particular table at a fixed time interval of every 5 minutes.
    On the 10th Attempt ,if the status is still not yet changed ,then the Informatica workflow to be marked as failed.
    later an email to be sent about the workflow failure.
    how do I develop the above logic?
    please help me ASAP.
    Thanks & warm regards,
    Kam

    did you ever figure out how to do this? I need to do the same thing.
    Thanks,
    Angie

  • Error while polling a db

    Hi,
    In my project I am polling a table and writing the contents to a File. I am recieving the following assign failure error.
    Executing sql . select * from Test
    normalized message
    Accepted the message in JDBC Binding. 121696963109189-36475-134457920143720246
    BPCOR-6151:The process instance has been terminated because a fault was not handled; Fault Name is {http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure; Fault Data is null
    com.sun.jbi.engine.bpel.core.bpel.exception.StandardException: I18N: BPCOR-3023: Selection Failure occurred in BPEL({http://enterprise.netbeans.org/bpel/MyTestBPEL/NewBPELProcess}NewBPELProcess) at line 22!
    BPCOR-6129:Line Number is 20
    BPCOR-6130:Activity Name is Assign1
    at com.sun.jbi.engine.bpel.core.bpel.engine.impl.BPELInterpreter.createVirtualFaultUnit(BPELInterpreter.java:235)
    at com.sun.jbi.engine.bpel.core.bpel.engine.impl.BPELInterpreter.execute(BPELInterpreter.java:203)
    at com.sun.jbi.engine.bpel.core.bpel.engine.BusinessProcessInstanceThread.execute(BusinessProcessInstanceThread.java:98)
    at com.sun.jbi.engine.bpel.core.bpel.engine.impl.BPELProcessManagerImpl.process(BPELProcessManagerImpl.java:998)
    at com.sun.jbi.engine.bpel.core.bpel.engine.impl.EngineImpl.process(EngineImpl.java:351)
    at com.sun.jbi.engine.bpel.core.bpel.engine.impl.EngineImpl.process(EngineImpl.java:1314)
    at com.sun.jbi.engine.bpel.BPELSEInOutThread.processRequest(BPELSEInOutThread.java:632)
    at com.sun.jbi.engine.bpel.BPELSEInOutThread.processMsgEx(BPELSEInOutThread.java:305)
    at com.sun.jbi.engine.bpel.BPELSEInOutThread.run(BPELSEInOutThread.java:191)
    Accepted message with exchange ID 121696963109189-36475-134457920143720246 in JDBC outbound message processor.
    Accepted message with exchange ID 121696963109189-36475-134457920143720246 in JDBC outbound message processor.
    Response for message with exchange ID 121696963109189-36475-134457920143720246 received after 30ms.
    Pattern for exchange Id 121696963109189-36475-134457920143720246 is http://www.w3.org/2004/08/wsdl/in-only.
    Received in-only message 121696963109189-36475-134457920143720246.
    Processing one-way inbound messages...
    Executing sql . delete from Test where Test.ID=12
    Records deleted are:1
    Finished processing message with exchange id of [121696963109189-36475-134457920143720246]. Removing the exchange id...
    Can u please help me out in resolving this issue.
    Thanks and Regards,
    Jay

    Below is my CASA code ----
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <casa xmlns="http://java.sun.com/xml/ns/casa" xmlns:ns1="http://j2ee.netbeans.org/wsdl/FileWSDL" xmlns:ns2="http://j2ee.netbeans.org/wsdl/TestDBWSDL" xmlns:ns3="TestCA" xmlns:ns4="http://enterprise.netbeans.org/bpel/MyTestBPEL/NewBPELProcess" xmlns:xlink="http://www.w3.org/2000/xlink">
    <endpoints>
    <endpoint endpoint-name="FileWSDLPort" interface-name="ns1:FileWSDLPortType" name="endpoint1" service-name="ns1:FileWSDLService"/>
    <endpoint endpoint-name="port" interface-name="ns2:jdbcPortType" name="endpoint2" service-name="ns2:service"/>
    <endpoint endpoint-name="casaPort1" interface-name="ns1:FileWSDLPortType" name="endpoint3" service-name="ns3:casaService1"/>
    <endpoint endpoint-name="casaPort2" interface-name="ns1:FileWSDLPortType" name="endpoint4" service-name="ns3:casaService2"/>
    <endpoint display-name="PartnerLink1" endpoint-name="jdbcPortTypeRole_myRole" file-path="NewBPELProcess.bpel" interface-name="ns2:jdbcPortType" name="endpoint5" process-name="NewBPELProcess" service-name="ns4:PartnerLink1"/>
    <endpoint display-name="PartnerLink2" endpoint-name="FileWSDLPortTypeRole_partnerRole" file-path="NewBPELProcess.bpel" interface-name="ns1:FileWSDLPortType" name="endpoint6" process-name="NewBPELProcess" service-name="ns4:PartnerLink2"/>
    </endpoints>
    <service-units>
    <service-engine-service-unit artifacts-zip="MyTestBPEL.jar" component-name="sun-bpel-engine" defined="true" description="Represents this Service Unit" internal="true" name="TestCA-MyTestBPEL" unit-name="MyTestBPEL" unknown="false" x="153" y="99">
    <provides endpoint="endpoint5"/>
    <consumes endpoint="endpoint6"/>
    </service-engine-service-unit>
    <binding-component-service-unit artifacts-zip="sun-file-binding.jar" component-name="sun-file-binding" description="Represents this Service Unit" name="TestCA-sun-file-binding" unit-name="sun-file-binding">
    <ports>
    <port bindingType="file" x="67" y="243">
    <link xlink:href="../jbiasa/TestCA.wsdl#xpointer(/definitions/service[@name='casaService2']/port[@name='casaPort2'])" xlink:type="simple"/>
    <consumes endpoint="endpoint4"/>
    <provides endpoint="endpoint4"/>
    </port>
    </ports>
    </binding-component-service-unit>
    <binding-component-service-unit artifacts-zip="sun-jdbc-binding.jar" component-name="sun-jdbc-binding" description="Represents this Service Unit" name="TestCA-sun-jdbc-binding" unit-name="sun-jdbc-binding">
    <ports>
    <port x="67" y="39">
    <link xlink:href="../jbiServiceUnits/MyTestBPEL/TestDBWSDL.wsdl#xpointer(/definitions/service[@name='service']/port[@name='port'])" xlink:type="simple"/>
    <consumes endpoint="endpoint2"/>
    <provides endpoint="endpoint2"/>
    </port>
    </ports>
    </binding-component-service-unit>
    <binding-component-service-unit artifacts-zip="sun-http-binding.jar" component-name="sun-http-binding" description="Represents this Service Unit" name="TestCA-sun-http-binding" unit-name="sun-http-binding">
    <ports>
    <port state="deleted" x="67" y="118">
    <link xlink:href="../jbiServiceUnits/MyTestBPEL/FileWSDL.wsdl#xpointer(/definitions/service[@name='FileWSDLService']/port[@name='FileWSDLPort'])" xlink:type="simple"/>
    <consumes endpoint="endpoint1"/>
    <provides endpoint="endpoint1"/>
    </port>
    </ports>
    </binding-component-service-unit>
    </service-units>
    <connections>
    <connection consumer="endpoint2" provider="endpoint5" state="unchanged"/>
    <connection consumer="endpoint6" provider="endpoint4" state="new"/>
    <connection consumer="endpoint6" provider="endpoint1" state="deleted"/>
    </connections>
    <porttypes>
    <link xlink:href="../jbiasa/TestCA.wsdl#xpointer(/definitions/portType[@name='dummyCasaPortType'])" xlink:type="simple"/>
    <link xlink:href="../jbiServiceUnits/MyTestBPEL/FileWSDL.wsdl#xpointer(/definitions/portType[@name='FileWSDLPortType'])" xlink:type="simple"/>
    <link xlink:href="../jbiServiceUnits/MyTestBPEL/TestDBWSDL.wsdl#xpointer(/definitions/portType[@name='jdbcPortType'])" xlink:type="simple"/>
    </porttypes>
    <bindings>
    <link xlink:href="../jbiasa/TestCA.wsdl#xpointer(/definitions/binding[@name='casaBinding1'])" xlink:type="simple"/>
    <link xlink:href="../jbiasa/TestCA.wsdl#xpointer(/definitions/binding[@name='casaBinding2'])" xlink:type="simple"/>
    <link xlink:href="../jbiServiceUnits/MyTestBPEL/FileWSDL.wsdl#xpointer(/definitions/binding[@name='FileWSDLBinding'])" xlink:type="simple"/>
    <link xlink:href="../jbiServiceUnits/MyTestBPEL/TestDBWSDL.wsdl#xpointer(/definitions/binding[@name='binding'])" xlink:type="simple"/>
    </bindings>
    <services>
    <link xlink:href="../jbiasa/TestCA.wsdl#xpointer(/definitions/service[@name='casaService1'])" xlink:type="simple"/>
    <link xlink:href="../jbiasa/TestCA.wsdl#xpointer(/definitions/service[@name='casaService2'])" xlink:type="simple"/>
    <link xlink:href="../jbiServiceUnits/MyTestBPEL/FileWSDL.wsdl#xpointer(/definitions/service[@name='FileWSDLService'])" xlink:type="simple"/>
    <link xlink:href="../jbiServiceUnits/MyTestBPEL/TestDBWSDL.wsdl#xpointer(/definitions/service[@name='service'])" xlink:type="simple"/>
    </services>
    <regions>
    <region name="WSDL Endpoints" width="150"/>
    <region name="JBI Modules" width="500"/>
    <region name="External Modules" width="200"/>
    </regions>
    </casa>
    Below is my BPEL Code _--
    <?xml version="1.0" encoding="UTF-8"?>
    <process
    name="NewBPELProcess"
    targetNamespace="http://enterprise.netbeans.org/bpel/MyTestBPEL/NewBPELProcess"
    xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:tns="http://enterprise.netbeans.org/bpel/MyTestBPEL/NewBPELProcess" xmlns:sxt="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Trace" xmlns:sxed="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Editor" xmlns:ns0="http://j2ee.netbeans.org/xsd/tableSchema">
    <import namespace="http://j2ee.netbeans.org/wsdl/TestDBWSDL" location="TestDBWSDL.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
    <import namespace="http://j2ee.netbeans.org/wsdl/FileWSDL" location="FileWSDL.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
    <partnerLinks>
    <partnerLink name="PartnerLink2" xmlns:tns="http://j2ee.netbeans.org/wsdl/FileWSDL" partnerLinkType="tns:FileWSDL" partnerRole="FileWSDLPortTypeRole"/>
    <partnerLink name="PartnerLink1" xmlns:tns="http://j2ee.netbeans.org/wsdl/TestDBWSDL" partnerLinkType="tns:jdbcpartner" myRole="jdbcPortTypeRole"/>
    </partnerLinks>
    <variables>
    <variable name="FileWSDLOperationIn" xmlns:tns="http://j2ee.netbeans.org/wsdl/FileWSDL" messageType="tns:FileWSDLOperationRequest"/>
    <variable name="PollrecordsIn" xmlns:tns="http://j2ee.netbeans.org/wsdl/TestDBWSDL" messageType="tns:inputMsg"/>
    </variables>
    <sequence>
    <receive name="ReceiveFromDB" createInstance="yes" partnerLink="PartnerLink1" operation="pollrecords" xmlns:tns="http://j2ee.netbeans.org/wsdl/TestDBWSDL" portType="tns:jdbcPortType" variable="PollrecordsIn"/>
    <assign name="Assign1">
    <copy>
    <from>$PollrecordsIn.part/ns0:record/ns0:Name</from>
    <to>$FileWSDLOperationIn.Message/ns0:record/ns0:Name</to>
    </copy>
    <copy>
    <from>$PollrecordsIn.part/ns0:record/ns0:Flag</from>
    <to>$FileWSDLOperationIn.Message/ns0:record/ns0:Flag</to>
    </copy>
    <copy>
    <from>$PollrecordsIn.part/ns0:record/ns0:ID</from>
    <to>$FileWSDLOperationIn.Message/ns0:record/ns0:ID</to>
    </copy>
    </assign>
    <invoke name="InvoketoFile" partnerLink="PartnerLink2" operation="FileWSDLOperation" xmlns:tns="http://j2ee.netbeans.org/wsdl/FileWSDL" portType="tns:FileWSDLPortType" inputVariable="FileWSDLOperationIn"/>
    </sequence>
    </process>
    FileWSDL :-
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions name="FileWSDL" targetNamespace="http://j2ee.netbeans.org/wsdl/FileWSDL"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://j2ee.netbeans.org/wsdl/FileWSDL" xmlns:ns="http://j2ee.netbeans.org/xsd/tableSchema" xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
    <types>
    <xsd:schema targetNamespace="http://j2ee.netbeans.org/wsdl/FileWSDL">
    <xsd:import namespace="http://j2ee.netbeans.org/xsd/tableSchema" schemaLocation="Test.xsd"/>
    </xsd:schema>
    </types>
    <message name="FileWSDLOperationRequest">
    <part name="Message" element="ns:Test"/>
    </message>
    <portType name="FileWSDLPortType">
    <operation name="FileWSDLOperation">
    <input name="input1" message="tns:FileWSDLOperationRequest"/>
    </operation>
    </portType>
    <binding name="FileWSDLBinding" type="tns:FileWSDLPortType">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="FileWSDLOperation">
    <soap:operation/>
    <input name="input1">
    <soap:body use="literal"/>
    </input>
    </operation>
    </binding>
    <service name="FileWSDLService">
    <port name="FileWSDLPort" binding="tns:FileWSDLBinding">
    <soap:address location="http://localhost:${HttpDefaultPort}/FileWSDLService/FileWSDLPort"/>
    </port>
    </service>
    <plnk:partnerLinkType name="FileWSDL">
    <!-- A partner link type is automatically generated when a new port type is added. Partner link types are used by BPEL processes.
    In a BPEL process, a partner link represents the interaction between the BPEL process and a partner service. Each partner link is associated with a partner link type.
    A partner link type characterizes the conversational relationship between two services. The partner link type can have one or two roles.-->
    <plnk:role name="FileWSDLPortTypeRole" portType="tns:FileWSDLPortType"/>
    </plnk:partnerLinkType>
    </definitions>
    TestDB WSDL
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions name="TestDBWSDL" targetNamespace="http://j2ee.netbeans.org/wsdl/TestDBWSDL" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://j2ee.netbeans.org/xsd/tableSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://j2ee.netbeans.org/wsdl/TestDBWSDL" xmlns:plink="http://docs.oasis-open.org/wsbpel/2.0/plnktype" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:jdbc="http://schemas.sun.com/jbi/wsdl-extensions/jdbc/">
    <types>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://schemas.sun.com/jbi/wsdl-extensions/jdbc/">
    <xsd:import namespace="http://j2ee.netbeans.org/xsd/tableSchema" schemaLocation="Test.xsd"/>
         </xsd:schema>
    </types>
    <message name="insertRetMsg">
    <part name="part" type="xsd:int"/>
    </message>
    <message name="inputMsg">
    <part name="part" element="ns:Test"/>
    </message>
    <message name="outputMsg">
    <part name="part" element="ns:Test"/>
    </message>
    <portType name="jdbcPortType">
    <operation name="insert">
    <input name="inputInsert" message="tns:inputMsg"/>
    <output name="outputInsert" message="tns:insertRetMsg"/>
    </operation>
    <operation name="update">
    <input name="inputUpdate" message="tns:inputMsg"/>
    </operation>
    <operation name="delete">
    <input name="inputDelete" message="tns:inputMsg"/>
    </operation>
    <operation name="find">
    <input name="inputFind" message="tns:inputMsg"/>
    <output name="outputFind" message="tns:outputMsg"/>
    </operation>
    <operation name="pollrecords">
    <input name="inputPoll" message="tns:inputMsg"/>
    </operation>
    </portType>
    <binding name="binding" type="tns:jdbcPortType">
    <jdbc:binding xmlns:jdbc="http://schemas.sun.com/jbi/wsdl-extensions/jdbc/"/>
    <operation name="insert">
    <jdbc:operation xmlns:jdbc="http://schemas.sun.com/jbi/wsdl-extensions/jdbc/"/>
    <input name="inputInsert">
    <jdbc:input xmlns:jdbc="http://schemas.sun.com/jbi/wsdl-extensions/jdbc/" MarkColumnName="" MarkColumnValue="" MoveRowToTableName="" PKName="ID" PollMilliSeconds="5000" PollingPostProcessing="MoveRow" TableName="Test" Transaction="NOTransaction" numberOfRecords="" operationType="insert" paramOrder="Name,Flag,ID" sql="insert into "dbo"."Test" ("Name","Flag","ID") values (?,?,?)"/>
    </input>
    <output name="outputInsert">
    <jdbc:output xmlns:jdbc="http://schemas.sun.com/jbi/wsdl-extensions/jdbc/" returnPartName="part"/>
    </output>
    </operation>
    <operation name="update">
    <jdbc:operation xmlns:jdbc="http://schemas.sun.com/jbi/wsdl-extensions/jdbc/"/>
    <input name="inputUpdate">
    <jdbc:input xmlns:jdbc="http://schemas.sun.com/jbi/wsdl-extensions/jdbc/" MarkColumnName="" MarkColumnValue="" MoveRowToTableName="" PKName="ID" PollMilliSeconds="5000" PollingPostProcessing="MoveRow" TableName="Test" Transaction="NOTransaction" numberOfRecords="" operationType="update" paramOrder="Name,Flag,ID" sql="update "dbo"."Test" set "dbo"."Test"."Name" = ?,"dbo"."Test"."Flag" = ?,"dbo"."Test"."ID" = ?"/>
    </input>
    </operation>
    <operation name="delete">
    <jdbc:operation xmlns:jdbc="http://schemas.sun.com/jbi/wsdl-extensions/jdbc/"/>
    <input name="inputDelete">
    <jdbc:input xmlns:jdbc="http://schemas.sun.com/jbi/wsdl-extensions/jdbc/" MarkColumnName="" MarkColumnValue="" MoveRowToTableName="" PKName="ID" PollMilliSeconds="5000" PollingPostProcessing="MoveRow" TableName="Test" Transaction="NOTransaction" numberOfRecords="" operationType="delete" paramOrder="" sql="delete from "dbo"."Test""/>
    </input>
    </operation>
    <operation name="find">
    <jdbc:operation xmlns:jdbc="http://schemas.sun.com/jbi/wsdl-extensions/jdbc/"/>
    <input name="inputFind">
    <jdbc:input xmlns:jdbc="http://schemas.sun.com/jbi/wsdl-extensions/jdbc/" MarkColumnName="" MarkColumnValue="" MoveRowToTableName="" PKName="ID" PollMilliSeconds="5000" PollingPostProcessing="MoveRow" TableName="Test" Transaction="NOTransaction" numberOfRecords="" operationType="find" paramOrder="" sql="select "Name","Flag","ID" from "dbo"."Test""/>
    </input>
    <output name="outputFind">
    <jdbc:output xmlns:jdbc="http://schemas.sun.com/jbi/wsdl-extensions/jdbc/" returnPartName="part"/>
    </output>
    </operation>
    <operation name="pollrecords">
    <jdbc:operation xmlns:jdbc="http://schemas.sun.com/jbi/wsdl-extensions/jdbc/"/>
    <input name="inputPoll">
    <jdbc:input xmlns:jdbc="http://schemas.sun.com/jbi/wsdl-extensions/jdbc/" MarkColumnName="" MarkColumnValue="" MoveRowToTableName="" PKName="ID" PollMilliSeconds="5000" PollingPostProcessing="Delete" TableName="Test" Transaction="NOTransaction" numberOfRecords="" operationType="poll" paramOrder="" sql="select "Name","Flag","ID" from "dbo"."Test""/>
    </input>
    </operation>
    </binding>
    <service name="service">
    <port name="port" binding="tns:binding">
    <jdbc:address xmlns:jdbc="http://schemas.sun.com/jbi/wsdl-extensions/jdbc/" jndiName="jdbc/__ebonding"/>
    </port>
    </service>
    <plink:partnerLinkType xmlns:plink="http://docs.oasis-open.org/wsbpel/2.0/plnktype" name="jdbcpartner">
    <plink:role name="jdbcPortTypeRole" portType="tns:jdbcPortType"/>
    </plink:partnerLinkType>
    </definitions>

  • DB Adapter Polling Issue

    Hi All,
    I am working on a scenario something like this:
    I am polling an Oracle table and when certain flag is 'Y', I am selecting the record(s) and calling an external service. Then depending on the response from the external service, again updating the the same table which I am polling.
    As I have clustered environment, I am using distributed polling and polling strategy is logical delete. But it seems DB adapter is keeping some lock on the table for distributed polling, that's why I am not able to update the polled table.
    Please provide me some solution how to overcome the iisue.
    Thanks,
    Maitrayee

    Hi Ram,
    DbAdapter is transactional and it should not delete failed records...
    Ref docs here...
    http://docs.oracle.com/cd/E28280_01/integration.1111/e10231/adptr_db.htm#BABCIICF
    Cheers,
    Vlad

  • Polling New Records in a table/Multiple servers

    We have a production environment that consists of 2 servers and I have a BPEL process that polls new records in a table and then sets flag as completed.
    Will this be a problem since we have more than one server?
    I ask this because I have another BPEL process that polls a FTP directory for files and then moves them after processing but when the process is put on the 2 servers, the process always becomes inactive and stops polling the directory, then I make it active again and it works for a little while and then becomes inactive again. I solved this be putting this process on my local SOA installation but I want to find a resolution for this.
    Thanks
    james

    The issue you have with the FTP adapter is that you have not configured it as a singleton adapter. Once this is done you will not have this issue.
    The DB adapter will not get the error that you get with FTP but you may get strange behavior if not configured correctly. If you are not using a sequencing file you should be ok as the dabase takes care of any locking. If you are using the sequencing function, e.g. sequence table then you may get 2 messages fired as both servers kick get the poll.
    To configure the db adapter for polling have a look at the following doc.
    http://download.oracle.com/docs/cd/E10291_01/core.1013/e10294/webapp.htm#CHDIDCGH
    cheers
    James

  • How DB adapter works when polling strategy is "remove row selected"?

    How DB adapter works when polling strategy is "delete the rows that were read"?
    I want to know how database adapter works when polling startegy is "remove row".This polling strategy helps for polling the changes to table and remove records after new records are inserted or changes are done to table.Here,i want to understand how DB adapter identifies which record to be deleted.
    For example: there is a table with 100 recorrds.How DB adapter works when polling strategy is "delete the rows that were read"?
    I want to know how database adapter works when polling startegy is "delete the rows that were read".This polling strategy helps for polling the changes to table and remove records after new records are inserted or changes are done to table.Here,i want to understand how DB adapter identifies which record to be deleted.
    For example:
    There is a table EMP with 100 recorrds.Now, i deploy a BPEl process with db adapter polling on table EMP for changes.So that ,if any change happen to records in table that records will be picked up.I use a polling startegy "delete the rows that were read" .
    Now i insert 9 new records and update one existing records.These 10 records should be picked up and then deleted by Db adapter.In this 109 records how DB adapter identifies these 10 records when it polls.How it differentiatess old records with new records when there is no flag field or no sequence id used to identify the new or modified records.
    Please let me know.
    Why i want to know this?
    Some times customer may not allow BPEL process to do any modifications to source table or source database.In this case the options provided by database adapter wizard are not useful.
    If there is any mechanism to identify new or modified records without having a FLAG field or sequence table,then it is possible to have an option like only read the changes from table rather than deleting the records after reading.Which helps in meeting above requirement.
    Please let me know if there is any way to do this.
    thanks
    Arureddy

    Once the record has been read it is deleted. Therefore, you can update rows in this table as many times you like before it is read. Once it is read there will be nothing to update as it will be deleted.
    If you don't want to use a sequence table, you can use a sequence file. You can only use this functionality if the key you are using increments sequentially. e.g. 1,2,3,4. If your key is random, e.g. 2,1,3,5,7,4 then your options are delete or use a processing flag.
    The other option is to create a trigger that inserts a key into a polling table when insert or updates occur. You can then use the delete, which is the most desirable as it uses database locking.
    cheers
    James

  • How can I avoid polling for database alerts?

    I am implementing a Java package that makes processing alerts from Oracle (the dbms_alert pl/sql package) easier than raw JDBC. This happens inside a servlet. My first problem is that when the servlet container such as tomcat asks the servlet to shutdown, choosing to stop listening for Oracle alerts appears to be impossible without polling Oracle for the alert events.
    Specifically, I have a thread that is blocked on a call to dbms_alert.waitany. How can I wake this thread up and have it cleanly shut down? I've tried closing the JDBCConnection in the hopes it would receive a connection-closed exception which my thread could simply ignore if being asked to shut down. But the call to JDBCConnection.close() simply hangs. I've tried a few other tricks to no avail. Documentation I've studied does not discuss the problem at all.
    The only "solution" I've found is to pass the dbms_alert.waitany a one-second timeout parameter when waiting for alerts. This makes the thread wake up every second, at which time it will usually just find that the timeout occurred and start waiting again. But this creates an opportunity for it to check an exit flag and terminated itself.
    Aside from wasting some CPU cycles this has the serious downside that it results in a remote call to Oracle across the network every second! That will no-doubt aggravate various people in IT as a serious load and I'm not sure how to articulate a good defense.
    I'm really hoping that there's some way to wake up my thread without having it wait for a timeout. Otherwise is this not a serious defect?
    There are other use cases for my package that are stumped by the same root problem. If I want to register for a new alert, I'd like to wake up my blocked thread, have it make the registration call, then call dbms_alert.waitany again. But this too requires waiting for the thread to wake up based on the timeout and the resulting trade-off between wasting resources and delaying the registration - a trade-off that has no good answer.
    Is there any way I can get the call to dbms_alert.waitany to unblock with an error code or exception so this impossible decision becomes irrelevant?
    Thanks

    >
    Specifically, I have a thread that is blocked on a call to dbms_alert.waitany. How can I wake this thread up and have it cleanly shut down?
    >
    You wake it up the way it is designed to be woken up: signal an alert from another thread.
    That thread will 'wake up' when an alert is signaled. So when you want to shutdown set a 'shutdown' variable that the thread checks wheneve it wakes up.
    Then use another thread to signal an alert. That alert will wake up your blocked thread, the thread will check the 'shutdown' variable and will take action based on the setting of that variable.
    See the examples in the DBMS_ALERT section of the Oracle docs:
    http://docs.oracle.com/cd/B28359_01/appdev.111/b28419/d_alert.htm
    >
    WAITANY Procedure
    Call this procedure to wait for an alert to occur for any of the alerts for which the current session is registered.
    >
    You can register for your own 'JAVA SHUTDOWN' alert in addition to the alert your thread is now registered for. Then use the method I outline above to use the SIGNAL method to generate that 'JAVA SHUTDOWN' alert. That will wake your thread up so it can shut itself down.

  • Lock on DB table due to polling adapter

    hi
    I have a DB table trans_xml and around 9 BPEL services have DB pollers pointing to this table. Poller picks the rows which have a flag set as "COMPLETE" and update it to "SENT". I have used logical delete.
    Recently Our unix box restarted. now i can not update the flag column on this table as SENT. it automatically reverts back it to "COMPLETE". Although I am able to perform following tasks on this table
    - insert a row
    -delete a row
    -update any other column
    - update above specified column with any other value Except "SENT"
    Please note that i am not able to update this column by any means as in writing update query from sql plus or through procedure or through this polling adapter.
    It does not show any specific error and I have checked there are no locks at DB side.
    Please help me with this issue. I am struggling with this from last 4 days.

    Hi vladodias
    This behavior is visible for even newly inserted rows. And BPEL is not rolling back because after picking rows from DB further this BPEL is supposed to insert another row in same table which is happening.
    So it is not rolling back complete transaction it only rolling back the rows picked by poller.
    and yes i have tried this thing like redeploying the BPEL process and even restarting the OAS(I am using soa 10g).
    when the OAS server is down then i can update the row but As soon as i restarted the server this problem started again.

  • DB Apdater Polling in 11g does not update the polling the column

    I have simple SOA11g process in which we are polling a table using DB Adapter:
    1) The polling column is process_flag and the read value is Y and unread value N.
    2) I inserted the record in the table withe process flag as N.
    3) The polling begins and the Composite instance is fired.
    However this process continues in an endless loop, polling the column again, after the time set in "Polling Frequency" and firing instance again. What I inferred from all this, is that the polling column i.e. process_flag is not getting updated after it's being polled. When we checked from the backend, the process_flag is always 'N'.
    Has any one faced this issue and resolved it?

    Hi
    Please check what is the PollingStrategy used in the adapter configuration,it should be LogicalDeletePollingStrategy.
    For example the configuration in the .jca file looks as shown below
    <property name="PollingStrategy" value="LogicalDeletePollingStrategy"/>
    <property name="MarkReadColumn" value="STATE"/>
    <property name="MarkReadValue" value="P"/>
    Thanks
    Albin I

Maybe you are looking for

  • Battery level when out of box + real autonomy

    Hi!! I just bought a New Ipad (3). When out of the box, the battery was only charged to 69%, is that normal? Right after I turned it on for the first time and set it up, the battery decreased to 64% after only 10 min. Do you think it has a problem? O

  • Af:query refresh problem

    Hi OTN, I am using JDeveloper 1.1.1.3 and ADF Faces with ADF BC Components.I have a search page having af:query component,delete button and a af:table component.While clicking the delete button,It will change the status of selected row and remove fro

  • User has no authorization for Function group SYST

    Hi, We are starting to make customisation to B2B application. I have just created a new project for B2B_XXXX application and deployed it on the server. When I run this custom application, I am not able to login using the same user that is working fin

  • Limit parralel in rac

    HEllo,    we have an RAC with 4 nodes,  Some queries  overload database with a hight degree of parallel :  192 degree of parallel, paralle on 4 instances and i found 384 actives sessions for 1 query!!  I need your help to limit parallel  and avoid to

  • Re-load of data 0PM_OM_OPA_2

    Hi guys, I'm to re-load all my data using the plant maintenance extractor  0PM_OM_OPA_2. When I look into it lbwe.. i can't find it as a LIS extractor, even though i can see there is a delta queue in RSA7. 1)From this I conclude there are no set up t