0

我正在使用 AQ 的 Oracle Java 接口并希望将消息出列。这些消息由两个字段组成:

  • 唯一的行 ID。
  • 非唯一标识。

我使用这样的单个 RAW 有效负载成功解码了消息:

AQDequeueOption option = new AQDequeueOption();
option.setDequeueMode(AQDequeueOption.DEQUEUE_REMOVE);

AQMessage message = queue.dequeue(option);
RAW raw = new RAW(message.getRawPayload().getBytes());

Integer rowId = Integer.valueOf(raw.stringValue());

我记得读过某事。Java 接口不支持自定义类型。是这样吗?对应的AQQueueTableProperty呼叫会是什么样子,或者我是否需要在 SQL 中创建队列和队列表?出队操作的结果不能使用通常的 JDBCResultSet操作映射到 Java 表示吗?

4

1 回答 1

0

我不确定 Java 部分,但我使用过很多 AQ。如果您真的在 Java 部分苦苦挣扎,为什么不创建一个简单的 PLSQL 过程来包装 dequeue plsql api 调用并以 Java 可以处理的格式输出参数。然后你可以简单地从 Java 调用包装器。

抱歉,我无法在 Java 方面提供更多帮助。

于 2009-11-20T14:30:25.880 回答