Database Reference
In-Depth Information
6.
Select
SOAJMSModule!EDNQueue
under
Destinations
, click on the
Con-
sumption
button, and click on
Pause
.
7.
Next time an event is published, you can view its details by going to the
Monitoring
tab, selecting
SOAJMSModule!EDNQueue
, and clicking on the
Show Messages
button.
Alternatively, if the mode is set to
EDN-DB
, event messages are intermittently
stored in the
EDN_EVENT_QUEUE advanced queue (AQ)
table. To pause
consumption on this AQ, connect to the
[PREFIX]_SOAINFRA
schema and
execute the following query. The query will let the queue receive messages, but
will not transmit them to subscribers.
BEGIN
SYS.DBMS_AQADM.START_QUEUE (
QUEUE_NAME => 'DEV_SOAINFRA.EDN_EVENT_QUEUE',
ENQUEUE => TRUE,
DEQUEUE => FALSE
);
END;
If an event is raised now, it will be available in
EDN_EVENT_QUEUE_TABLE
and
can be queried from the
USER_DATA
column, using the code below. The code
queries for the business event payload for a particular composite instance. If
you wish to access all the event messages, remove the
WHERE
clause from the
query.
SELECT XMLTYPE.EXTRACT(XMLTYPE(T.USER_DATA.EVENT), '/EDN_BUSINESS_EVENT/PAYLOAD/*/*/*[LOCAL-NAME()="EVENTDATA"]',
NULL).GETSTRINGVAL() EVENT_MESSAGE FROM DEV_SOAINFRA.EDN_EVENT_QUEUE_TABLE T
WHERE XMLTYPE.EXTRACT(XMLTYPE(T.USER_DATA.EVENT), '/*/*/*/*/*[LOCAL-NAME()="COMPOSITEINSTANCEID"]/TEXT()', NULL)
.GETSTRINGVAL() = '990004';
You should, however, maintain extreme caution when you pause consumption
on these queues for debugging purposes. Ensure that the consumption is re-
sumed after you are done troubleshooting.