The weird thing was for certain responses i couldn’t find the payload back when i queried the aq table in the database.
select qt.user_data.text_vc , qt.user_data.text_lob from my_aq_table qt
The process just completed succesfull in osb, but the payload wasn’t there (well it looked like it wasn’t there).
When publishing big payloads to an Oracle AQ endpoint, Oracle (db) will decide weither the payload will get stored either as text-value or clob-value.
Messages smaller then 4k will get inserted as text, messages bigger then 4k will get inserted as clob.
When you’ve stored a object type in the user_data column you can cast it with something like
select treat(qt.user_data as <my_object_type>).<my field in the object_type> from my_aq_table qt
Popularity: 2% [?]




3 Responses to “Oracle Service Bus, publish small/big messages to Oracle AQ endpoint”
Hi,
watch out , because oracle desides where to put the payload , you could have some problems with plsql to get the message.
Didn’t do a test yet..but guess you can use the text_len to decide to either select on the lob or text value.
[...] Original blog [...]