Hi All,
I am currently working on a service which polls a table for new records based on the value of a particular column. I am using 'Logical Delete' option to poll for new records. the DB table column will have the value 'NEW' for new rows and will be updated to 'READ' once the row has been processed by the SOA Service. I would like to know if there is a way, i can indicate error in processing of the row in the SOA Service.
for example - consider the below service outline.
DB Adapter Polling a table -> BPEL Service -> MQ Put (IBM MQ).
lets say for some reason the Queue is down, I need to update that particular row with the value 'ERRORED' in the database when the MQ Issue happens. These ERRORED entries can be processed manually by the support team at a later point of time once the MQ has been restored. this will save the Weblogic processor from repeatedly reading the same rows again and again when the MQ issue is present.
I have googled for quite a while and I dont find any option to mention the error values while creating the Database adapter.(May be I'm missing the right keywords?) So I am thinking of creating another service which will be invoked inside the DB polling service in case of error scenarios, which will do the job of updating the Row with the error in the database based on the table primary key. This will be a normal database adapter with the option 'Perform an operation on the table'. Do you guys have any better solution? Can anyone help me on this?
My Weblogic Version - 10.3.6
My Oracle SOA Suite version - 11.1.1.7
My Database - Oracle 12c.