如何将AQMessage STRUCT对象转换为UDT对象(How to cast AQMessage STRUCT object to UDT object)
尝试从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对象引用呢?
Trying to read a message with UDT payload from oracle AQ queue in java. I used jpub to create java classes for my Oraacle UDT/Object in the database (object called MESSAGE_TYP).
jpub output:
public class message_typ implements ORAData, ORADataFactory ...Then deuque message and get STRUCT:
oracle.jdbc.aq.AQMessage msg = conn.dequeue(queueName, deqopt, "MESSAGE_TYP"); STRUCT st = msg.getSTRUCTPayload();So How do I then get to my concrete message_typ object reference?
最满意答案
弄清楚了。 调用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;Figured it out. After call to 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;更多推荐
发布评论