BPEL engine maintains all Async call back messages into database table called dlv_message. Wecan see such all messages in BPEL console call-back manual recovery area.The query being used by bpel console is joined on dlv_message and work_item tables.This query simply picks up all call back messages which are undelivered and have not been modified with in certain threshold time.
Call-back messages are processed in following steps
- BPEL engine assigns the call-back message to delivery service
- Delivery service saves the message into dlv_message table with state 'UNDELIVERED-0'
- Delivery service schedules a dispatcher thread to process message asynchronously
- Dispatcher thread enqueues message into JMS queue
- Message is picked up by MDB
- MDB delivers the message to actual BPEL process waiting for call-back and changes state to 'HANDLED=2'
No comments:
Post a Comment