2

我需要通过 MDB 将消息从 Oracle 高级队列 (ADQ) 中取出。MDB 部署在 Weblogic 11 上。我可以为 ADQ 定义一个外部服务器(官方 oracle 文档)。

问题是:

如果有效负载不是 jms 类型,例如 queue_payload_type=>'sys.aq$_jms_text_message' ,而是自定义类型,会发生什么?Weblogic如何重新映射呢?

4

2 回答 2

1

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.

于 2014-01-23T01:17:53.760 回答
1

无法通过 MDB 从自定义类型出列。要将 Weblogic 连接到 AQ,您需要一个jms type.

或者,可以使用流行的编程接口 (API),例如 PL/SQL、C/C++、Java 和 Visual Basic,传播和使用 AQ 消息。

然后,您可以从 AQ 自定义类型传播到 AQ“jms 类型”。

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

但它会引入一点延迟https://community.oracle.com/thread/2190829?start=0&tstart=0

于 2014-01-24T19:13:47.217 回答