問題タブ [oracle-aq]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - JMS プッシュ コンシューマが Oralce AQ からメッセージを取得する際の遅延
Oracle AQ を実装したアプリケーションがあります。メッセージが AQ に生成された後、JMS プッシュ コンシューマーによるメッセージの消費に数秒の遅延があることに気付きました。
1 時間に 10 件のメッセージを AQ に送信するシナリオを実行しました。メッセージの消費に数秒の遅延があることに気付きました。このようなシナリオで平均遅延時間を計算したところ、12 秒、最大遅延時間が 13.5 秒でした。
しかし、生産速度を 1 時間に 1000 メッセージに増やしたとき。消費の遅れが少なくなりました。そして、5.2秒の最大遅延で、一定の平均5秒を得ました。
JMS コンシューマ スレッドにスリープ時間がかかる可能性があると想定できますが、Poll コンシューマではなく Push コンシューマを使用しているため、少し混乱しています。
このような遅延の理由と、この時間のギャップを短縮する方法を見つけるのを手伝ってください.
〜ありがとう
jms - WS02 プロキシを定義するときに「http://ws.apache.org/ns/synapse - 構成に存在しません」
http://wso2.com/library/tutorials/2011/11/configuring-wso2-esb-with-oracle-as-messaging-media/にリストされている例を、 必要最小限のシナプスで動作するようにしました。現在、WS02で動作するようにしようとしています。
シナプスでは、リストされたプロキシをシナプス定義ファイルに入れるだけです。WSO2で試した方法は次のとおりです。
インライン XML エントリとしてローカル エントリを作成しました。
名前: jmsMsgToSoapMsg_xslt
値: <localEntry key="jmsMsgToSoapMsg_xslt" src="file:jmsMsgToSoapMsg.xslt"/>
次に、ソース ビューに切り替えてプロキシ定義を貼り付けることで、カスタム プロキシを作成してみました。ただし、「保存」を押すと、エラーが発生します。
「ソースからデータを生成できません: Synapse 名前空間https://ws.apache.org/ns/synapse - 構成に存在しません。」
その名前空間は、プロキシのどこにも参照されていません。ただし、ローカル エントリ定義に自動的に挿入されていることに気付きました。
そしてそれを削除する方法はありません。これを解決する方法について何か提案はありますか?
java - JMS 112 spring ds を使用した無効な接続
Spring データソースを使用していますが、Oracle AQ Queue に接続できません。
しかし、それでもこれを取得してくださいoracle.jms.AQjmsException: JMS-112: Connection is invalid
。ヒントをいただければ幸いです。
jms - Oracle AQ で Flume を構成する
Apache Flume
をOracle AQ
使用した構成について質問がありますJMS
。とリモート サーバー (たとえば)のJMS
間で設定するには、データソースを構成する必要がありますか?Oracle AQ
Flume
WebLogic
Flume から、データソースが構成されていないという例外がスローされます。ドキュメントを読みOracle
ましたが、サード パーティ サーバーが AQ JMS と連携するには、WebLogic データソースが必要であると書かれています。
で作業したくないWebLogic
ので、それを正しく理解していることを確認したいので、他に方法はありません。
Oracle AQ からメッセージを受信するために Flume のソースを設定したいのですが、WebLogic
データソースを作成する必要がありますか?それともキューを直接操作できますか?
c++ - C++ 6.0 と Oracle AQ の統合
VS 6.0 でビルドされた古いアプリケーションがあり、Oracle AQ との小さな統合を行う必要があります。OCCI を使用する予定でしたが、Microsoft Visual C++ 6.0 をサポートしていないことがわかりました。
これを実装するために歩き回っていますか?
ありがとう、
oracle - Oracle Advance Queue - デキューが機能しない
問題の解決策が見つからないようです。これで何時間も立ち往生しています。
私はOracle AQを使用しています:
これが私のサブスクライバーの 1 つです。
加入者登録:
DB で特定のイベントが発生するたびに、ITEM_API
パッケージから次のプロシージャを呼び出して、トリガーを使用して AQ に「イベント」を追加しています。
AQテーブルをチェックすると「イベント」が見つかるため、機能していますが、次の画像でわかるように、デキューメソッドはデキューされていませんDEQ_TIME
。
ITEM_API
これも私のパッケージからの私のデキュー方法です:
私は何か間違ったことをしていますか?どうすればこれを修正できますか? 購読者登録に問題があるのではないかと思いますが、よくわかりません。
編集:サブスクライバーとレジスターを削除してから再度追加すると、すべてのメッセージがデキューされることがわかりました。ただし、別のイベントがキューに入れられた場合、それは無期限にそこにとどまります (または、サブスクライバーを削除して再度追加するまで):
状態が 0 で no のレコードがDEQ_TIME
新しいレコードです。
スケジューラなどが必要ですか?
編集: AQにスケジューラの伝播を追加しました:
さらに next_time フィールドを追加しました。
それでもうまくいきません。助言がありますか?AQ 通知が機能していないようで、コールバック プロシージャが呼び出されません。どうすればこれを修正できますか?
編集:テスト目的のためだけにパッケージから手順を削除したので、チーム メイトは ITEM_API パッケージをコンパイルできます (パッケージを再コンパイルするかどうかはわかりませんが、デキュー プロセスに影響がある場合とない場合があります)。それでもうまくいきません。
multithreading - 高度な Oracle AQ デキュー順序
キューに入れられたメッセージを消費する複数のスレッドによる後で処理するために、Oracle キューを使用してメッセージをキューに格納する Java アプリケーションがあります。このキュー内のメッセージは相互に関連している可能性があるため、アプリケーションのビジネス ロジックに基づいて特定の順序で処理する必要があります。基本的に、キュー内の別のメッセージ B が完全に処理されていない限り、1 つのメッセージ A のデキューが保留されるようにしたいと考えています。ここに表示される Oracle AQ によって提供される唯一の武器は、Delay および Priority パラメータです。ただし、これらを使用して上記のシナリオを実現することはできません。これは、関連する 2 つのメッセージを同時にデキューして処理できる状況があるためです。メッセージの高度な処理順序を確立するのに役立つツールはありますか?
java - Oracle AQ へのキュー接続: java.lang.NoSuchMethodError: oracle.jdbc.internal.OracleConnection.getDbCsId()S
Java を使用して Oracle AQ への接続を作成するときに問題が発生しました。ここにコード:
次のようなエラーが発生しました:
この行を渡すとき:
t_sess = t_conn.createTopicSession(真、Session.CLIENT_ACKNOWLEDGE);
誰でも私を助けることができますか?