尝试从java中的oracle AQ队列读取带有UDT有效负载的消息。我使用jpub为数据库中的Oraacle UDT / Object创建java类(对象名为MESSAGE_TYP)。
jpub输出:
public class message_typ implements ORAData, ORADataFactory ...
然后deuque消息并获得STRUCT:
oracle.jdbc.aq.AQMessage msg = conn.dequeue(queueName, deqopt, "MESSAGE_TYP");
STRUCT st = msg.getSTRUCTPayload();
那么我如何进入具体的message_typ对象引用呢?
答案 0 :(得分:0)
想出来。在调用msg.getSTRUCTPayload()之后:
message_typ typ; // My UDT created with jpub
ORADataFactory of = message_typ.getORADataFactory();
ORAData od = of.create(st, 1);
typ = (message_typ)od;