DEQUEUE Oracle Advanced Queue from Weblogic Server

1.3k Views Asked by At

I need to dequeue a Message from Oracle Advanced Queue (ADQ) through an MDB. The MDB is deployed on Weblogic 11. I can define a Foreign Server for ADQ (official oracle doc).

The qustion is:

what happens if the payload is not a jms type e.g. queue_payload_type=>'sys.aq$_jms_text_message' but is a custom type? How Weblogic remap it?

2

There are 2 best solutions below

2
On

AQ supports different types of jms messages, and the mdb can check the type of the message and take diff actions. If you are expecting only txt messages but the content of the message is different the mdb needs to check that in its code.

0
On

It is not possible to dequeue from a custom type through an MDB. To connect Weblogic to an AQ you need a jms type.

Alternatively AQ messages can be propagated and consumed using popular programming interfaces (API) such as PL/SQL, C/C++, Java and Visual Basic.

Then you can propoagate from an AQ custom type to an AQ "jms type".

http://docs.oracle.com/cd/A87861_01/NT817EE/appdev.817/a76938/adq_aex4.htm

But it will introduce a little bit of latency https://community.oracle.com/thread/2190829?start=0&tstart=0.