0

AQ に Oracle Java インターフェイスを使用しており、メッセージをデキューしたいと考えています。これらのメッセージは、次の 2 つのフィールドで構成されています。

  • 一意の行 ID。
  • 一意でない 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());

sthを読んだことを覚えています。Java インターフェイスではカスタム型がサポートされていないことを示しています。そうですか?コレスポンデントAQQueueTablePropertyコールはどのようになりますか、または SQL でキューとキュー テーブルを作成する必要がありますか? 通常の JDBC 操作を使用して、デキュー操作の結果を Java 表現にマップすることはできませんResultSetか?

4

1 に答える 1

0

Java の部分についてはよくわかりませんが、AQ をかなり使用しています。Java 部分で本当に苦労している場合は、dequeue plsql API 呼び出しをラップし、Java が処理できる形式でパラメータを出力する単純な PLSQL プロシージャを作成してみませんか。次に、Java からラッパーを簡単に呼び出すことができます。

申し訳ありませんが、Java 側でこれ以上お手伝いすることはできません。

于 2009-11-20T14:30:25.880 に答える