Oracle Service Bus, publish small/big messages to Oracle AQ endpoint

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
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

Share this Post:
Digg Google Bookmarks reddit Mixx StumbleUpon Technorati Yahoo! Buzz DesignFloat Delicious BlinkList Furl

4 Responses to “Oracle Service Bus, publish small/big messages to Oracle AQ endpoint”



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.

Leave a Reply:

Name (required):
Mail (will not be published) (required):
Comment (required):
XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>