从Weblogic Server中删除Oracle Advanced Queue

时间:2014-01-22 17:39:00

标签: java oracle jms advanced-queuing

我需要通过MDB从Oracle Advanced Queue(ADQ)中取消一条消息。 MDB部署在Weblogic 11上。我可以为ADQ定义外部服务器(official oracle doc)。

qustion是:

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

2 个答案:

答案 0 :(得分:1)

AQ支持不同类型的jms消息,mdb可以检查消息的类型并执行diff操作。如果您只期望txt消息,但消息的内容不同,则mdb需要在其代码中检查它。

答案 1 :(得分:1)

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

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

然后你可以从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