The weird thing was for certain responses i couldn’t find the payload back when i queried the aq table in the database.
[sourcecode language=’sql’]
select qt.user_data.text_vc
, qt.user_data.text_lob
from my_aq_table qt
[/sourcecode]
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
[sourcecode language=’sql’]
select treat(qt.user_data as
from my_aq_table qt
[/sourcecode]
4 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 […]
[…] http://www.xenta.nl/blog/2009/08/12/oracle-service-bus-publish-smallbig-messages-to-oracle-aq-endpoi… […]