java从Weblogic服务器退出Oracle高级队列
我需要通过MDB将来自Oracle高级队列(ADQ)的消息出列。MDB部署在Weblogic 11上。我可以为ADQ(official oracle doc)定义一个外部服务器
问题是:
如果负载不是jms类型会发生什么
例如
queue_payload_type=>'sys.aq$_jms_text_message'
但它是自定义类型吗?
Weblogic如何重新映射它强>
你可以在下面搜索框中键入要查询的问题!
我需要通过MDB将来自Oracle高级队列(ADQ)的消息出列。MDB部署在Weblogic 11上。我可以为ADQ(official oracle doc)定义一个外部服务器
问题是:
如果负载不是jms类型会发生什么
例如
queue_payload_type=>'sys.aq$_jms_text_message'
但它是自定义类型吗?
Weblogic如何重新映射它强>
# 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
# 2 楼答案
AQ支持不同类型的jms消息,mdb可以检查消息的类型并采取不同的操作。如果您只需要txt消息,但消息的内容不同,mdb需要在其代码中检查这一点