問題タブ [spring-jms]
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.
sockets - Spring JMS とリスナーの読み込み
Spring JMS を使用して、Oracle AQ キューからメッセージを読み取ります。
これらのメッセージを処理するときは、ソケットを使用してベンダー製品に送信します。起動時に、メッセージを送信できるようにベンダーへの接続を開始する必要があります。ここ数日、ベンダーへの接続が確立される前にメッセージがキューから読み取られていることに気付きました。
他のすべての Bean がロードされるまで、JMS リスナーの開始を停止する方法はありますか?
grails - Grails & JMS Spring Integration: 受信者リストルーターの 'selector-expression' が機能しない
以下は動作しないコードです: SampleGrailsPlugin.groovy
「selector-expression」にどんな値を指定しても、メッセージは「outChannel」にルーティングされます。誰か助けてくれませんか?
ありがとうございました
キールティ
java - Spring構成ファイルエラー
Spring構成ファイルを使用して簡単なプログラムを実行しようとしています。構成では、JMSテンプレート用のBeanを作成しています。Eclipseから実行すると、すべてが完全に機能しますが、コマンドラインから実行しようとすると、次のエラーが発生します。
config.xml
クラスパスリソース[ ]でJMSTEMPLATEという名前のBeanを作成するときにエラーが発生しました:Beanのインスタンス化に失敗しました。ネストされた例外はjava.lang.NoClassDefFoundError
:javax/jms/JMSException
なぜこれができるのか誰かが知っていますか?クラスパスを再確認しましたが、問題ありません。
java - javax.jms.InvalidDestinationException:宛先の作成が許可されていないという意味を正確に知っている人はいますか?
このエラーを受け取ったときに、Springを使用してTibcoEmsトピックに接続しようとしています。
構成は次のとおりです。
これは正確にはどういう意味ですか?私の詳細または私の設定は間違っていますか?
spring-jms - Spring JMS でのエラー処理のベスト プラクティス
すべての着信要求をキューに入れ、後で処理するメッセージ ベースのサービスに取り組んでいます。エラー処理のベスト プラクティスは何ですか。たとえば、次のシステムに情報を送信する際のメッセージの形式が正しくなかったり、通信エラーが発生したりします。
トランザクションを使用することで、後者に対処することができますが、メッセージの形式が正しくない場合、メッセージを再試行したり保持したりする必要はありません。シナリオごとに異なるエラー処理を実装するアイデアはありますか?もしそうなら、どのように行うべきですか?
ありがとう!
java - 春のjmsプロデューサーのパフォーマンス
spring、jms、activemq に基づいたシンプルなプロデューサーとコンシューマーのシミュレーションを作成しました。プロデューサーとコンシューマーの両方から高いパフォーマンスを達成しようとしています。
接続設定:
消費者設定:
プロデューサー設定:
コンシューマーから始めて、毎秒約 25 のメッセージを消費することができましたが、これは非常に遅いです。少しグーグルで調べて構成をいじった後、トランザクションを使用しているという事実がボトルネックであることを発見しました。 DefaultMessageListenerContainer を自動配線し、キャッシュレベルを
私のパフォーマンスは、トランザクションが発生している間、毎秒約 1500 メッセージまで増加します。
私の問題は、1秒あたり約25回の操作でスタックしているプロデューサーにあり、プロデューサーのテストは簡単です:
システム全体のボトルネックになっているため、プロデューサーで同様のパフォーマンスを達成する方法を考えています。
spring - SpringIntegrationJMSアウトバウンドアダプタのトランザクション制御
トランザクションが有効になっているjmsを使用してメッセージを高性能に生成するには、各トランザクションで送信されるメッセージの量を制御する必要があります。数値が大きいほど、パフォーマンスが高くなります。
春の統合を使用してそのような方法でトランザクションを制御することは可能ですか?
アグリゲーターの使用を提案する人もいるかもしれませんが、キューにX個の小さいメッセージを含む1つのメッセージが必要ではなく、実際にはキューにX個のメッセージが含まれるため、目的が果たせません。
ありがとう !
apache-karaf - Apache Karaf 2.2.3、featuresBootの問題
Karaf 2.2.3は最近リリースされ、ついにバンドル済みのspring-jms機能を備えています。作業を簡単にするために、他のデフォルトでfeaturesBootconfigプロパティに追加しました。
featuresBoot=config,ssh,management,spring-jms
ただし、Karafを起動すると、制御不能な動作をします。起動時にインストールされる場合とインストールされない場合があります。自動インストールされない場合は、コマンドラインから追加しようとします。
features:install spring-jms
そしてそれでさえ乱暴に振る舞います。下記参照:
これらは、installコマンドの連続実行です。最後の実行は機能します。
他の誰かがこの振る舞いを見ますか?またはそれを修正する方法を知っていますか?
spring - JMSTemplate.execute の目的は何ですか
JMSTemplate.execute メソッドの本当の目的は誰でも説明できます。セッション コールバックを受け入れることができます。Spring ドキュメントには、それについての詳細は記載されていません。
jms - 明示的に設定したメッセージ プロパティが表示されない (Spring/JMS/MQ)
2 つの別個のプロセスが MQ 上の JMS を介して通信しています。
ライターは文字列プロパティを設定します。
MessageAction
ログに示されているように、これが実行されます。
Setting message property (GmmThreadId, CASHFLOW-1234)
リーダーは、メッセージ セレクターを使用してこのメッセージを取得します。(Spring の JmsTemplate v1 を使用 -私が知っている古いバージョンですが、ベンダーのフレームワークに組み込まれており、使用せざるを得ません。 )
template.receiveSelected(queue, "GmmThreadId = 'CASHFLOW-1234' or GmmThreadId IS NULL");
キューにある唯一のメッセージは、ライターがメッセージ プロパティを設定したことをログが示しているメッセージです。リーダーのログで、プロパティを列挙し、GmmThreadId の値も記録しようとしました。また、プロパティ GmmThreadId が存在しないことも示しています。
私のメッセージセレクターがのみの"GmmThreadId = 'CASHFLOW-1234'"
場合、何もデキューされないことに注意してください。
WebSphere MQ Explorer を使用してメッセージを表示すると、アプリケーション セットのメッセージ プロパティを表示する場所が見つかりません。違いがある場合、メッセージ タイプは MQSTR です。
リーダーとライターの両方のアプリケーションが WebSphere v6 で実行されています。
どこが間違っていますか?