I encountered one error
scenario in PS5. Had developed a process in PS5. The process shows all
interaction as successful but finally the transaction was getting rolled back.
The em console shows the process instance as errored out but no errors were
shown.
The process involves
multiple DB interactions was triggered by polling a table.
BPEL process instance
"1040126" completed
|
![]() |
As always the only option
was to go behind the scenes ,enable
logging to TRACE-FINEST for oracle.soa.adapter and monitor the logs.
The issue was due to a
CONSTRAINT in the table which was being violated by the polling process which
was inserting a value not supported by constraint for that column.
Error from Log File
012-11-08T02:43:31.005-06:00]
[fmwDirect-directi02] [ERROR] [] [oracle.soa.adapter] [tid: Workmanager: ,
Version: 0, Scheduled=false, Started=false, Wait time: 0 ms\n] [userId:
<anonymous>] [ecid:
8a5d5fb1e9381abe:13601ac5:13adc7cdc79:-8000-000000000001747c,0] [APP:
soa-infra] Database Adapter TestProcess <oracle.tip.adapter.db.InboundWork
handleException> Encountered a fatal exception while polling. Will continue polling but with minimal
logging. Please investigate the fault
and manually stop polling from the console if in development and this appears
to be a modeling mistake.
BINDING.JCA-11624[[
DBActivationSpec Polling
Exception.
Query name:
[triggerTransactionSelect], Descriptor name: [triggerTransaction.Transaction].
Polling the database for events failed on this iteration.
Caused by
java.sql.BatchUpdateException: ORA-02290: check constraint (STATUS) violated
.
This exception is considered not retriable,
likely due to a modelling mistake. To
classify it as retriable instead add property nonRetriableErrorCodes with value
"-2290" to your deployment descriptor (i.e. weblogic-ra.xml). This polling process will shut down, unless
the fault is related to processing a particular row, in which case polling will
continue but the row will be rejected (faulted).
at
oracle.tip.adapter.db.exceptions.DBResourceException.createNonRetriableException(DBResourceException.java:690)
Inference
The
DB adapter will throw an error while interacting with the DB layer. There will
be some constraint errors which may not be propagated through the Toplink
layer, there by not showing up in the console. But logs will not hide them,and
will help you to debug the issue.
No comments:
Post a Comment