問題タブ [jmstemplate]

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.

0 投票する
1 に答える
2314 参照

jaxb - String などをサポートしながら MarshallingMessageConverter を使用する Spring JMS

XML構成の使用 - 私はMarshallingMessageConverter働いています。TextMessageただし、単純な値と同じようにいくつかのメッセージを送信したいと考えていStringます。

私の構成では、ある溝 (自動 JAXB マーシャリングなし) から別の溝 (JAXB マーシャリングのみ) に移動する必要があるようです。

関連する XML 構成は次のとおりです。

JAXB マーシャリングは正常に機能しますが、空の本文 (ヘッダー プロパティのみ) のメッセージを送信したい場合があります。次のようなエラーが発生します。

本文で非 JAXB 文字列 (または何も送信しない) を送信しているため、これは理にかなっています。

両方の長所を活かすことは可能ですか? , String, -and-byte[]Map変換動作org.springframework.jms.support.converter.SimpleMessageConverterorg.springframework.jms.support.converter.MarshallingMessageConverter

他のコンバーターで 2 番目のコンテナー ファクトリを作成し、それを@JmsListener注釈で明示的に使用することによって、これを達成する唯一の方法はありますか?

0 投票する
1 に答える
5751 参照

testing - Spring jmsTemplate send 単体テストが機能しない

私のサービス メソッドは以下のようになります。単体テスト中にメッセージを送信できるように JmsTemplate をモックしようとしていますが、jmsTemplate.send(...) を実行しません。次の行に直接移動します。jmsTemplate を実行するにはどうすればよいですか単体テストを使用してサービス クラスのコードの .send(..) 部分ですか?

これは私のテストクラスのコードです。

メッセージを受信する以下のコードがありますが、ステータス オブジェクトが null になっています。

以下のテストコード:

0 投票する
1 に答える
2537 参照

jms - ActiveMQ - Incative キューからすべてのメッセージを自動的に削除する

指定された時間非アクティブなキューからすべてのメッセージを自動的に削除したい (その時間に新しいメッセージが到着しなかった)。

here で説明されているように、コードからキューを明示的に空にしたり、パージを明示的に呼び出したりしたくありません。

ここで説明する構成も、空のキューのみを自動的に削除し、私のキューは空ではないため、私の場合には適切ではありません。

そのタスクを自動的に実行できる既知の ActiveMQ 構成はありますか?

0 投票する
1 に答える
3662 参照

spring - WebSphere Application Server での Spring JmsTemplate および接続 jndi ルックアップ

JmsTemplate を使用して、IBM MQ キューとの間でメッセージを送受信する作業を行っています。私のアプリケーションは WebSphere アプリケーション サーバー 8.5 にインストールされており、接続を取得するために jndi ルックアップを使用しています。

私の春の豆:

私のJavaクラス:

これが正しい方法であるかどうか疑問に思っており、いくつか質問があります。

  1. CachingConnectionFactory を追加することをお勧めしますか、それとも接続を管理するのはアプリケーション サーバー自体ですか?
  2. これは JmsTemplate を使用する正しい方法ですか? MqServerDao の「書き込み」メソッドが同時に 2 回呼び出されても安全ですか? または、「書き込み」および「読み取り」メソッド内に新しい JmsTemplate インスタンスを作成しますか?
0 投票する
1 に答える
1366 参照

spring-mvc - Spring 3.05 と JBoss 5.1 (JBossMQ) を使用して JMS ローカル キューを実装する方法は?

JBoss 5.1 サーバー上で実行されるSpring 3.0.5フレームワークに基づくアプリケーションがあります。

このチュートリアルに従おうとしましたが、 JBossMQ (デフォルトの JBoss 5.1 ブローカー)の代わりにActiveMQブローカーを使用します。

JBoss 構成 (destinations-service.xml) でMyQueueというキューを既に設定しています。

残りの構成は以下で確認できます。私は何が欠けていますか?キューの JNDI 名と接続ファクトリーを指定するにはどうすればよいですか? また、サーバー アドレス ([ConnectionFactory] ​​Connector bisocket://localhost:4457) はどうでしょうか。

applicationContext.xml の私の設定は次のとおりです。

私のプロデューサー

私の消費者

0 投票する
1 に答える
1065 参照

java - JMS の統合テスト

アプリケーションの完全なSpringコンテキストを作成し、他のアプリケーションに向けてエンドポイントをモックアウトし、テストを実行する一連の統合テストがあります。たとえば、RESTサービスを呼び出してから、データベースで結果を確認します。 REST サービスが呼び出されました。

テストしたいケースの 1 つは、Spring Integration を使用した JMS メッセージの消費です。これらのテスト ケースでは、インメモリ ActiveMQ ブローカーを作成し、メッセージを配置して、メッセージの消費によって望ましい結果が得られることを確認します。このアプローチには、良い解決策が見つからないという問題があります。

メッセージ処理はテスト実行とは別のスレッドで行われるため、動作を確認する前にしばらく待つ必要があります。今は でやっていますがThread.sleep、あまり満足していません。第一に、ビルド時間が長くなり、第二に、設定が低すぎるとランダム エラーが発生しやすくなります。これにより、念のため、これらの各テストが 2 秒間スリープ状態になります。

メッセージが処理されたかどうかを制御する方法はありますか? おそらく JmsTemplate を介して ActiveMQ ブローカーを確認する方法はありますか?

0 投票する
2 に答える
1864 参照

jms - Spring jms から Websphere MQ への接続エラー

AppConfig.xml 設定:

次のエラーが表示されます。

私が見つけたいのは、コードに問題があるか、構成する必要がある Websphere MQ の設定に問題があるかということです。問題を Websphere MQ 管理者 (ちなみに、Websphere MQ の初心者です) に報告する前に、これがプログラムの障害ではないことを確認したいと思います。

私たちは使用しています:

  • Websphere MQ バージョン 9

  • Spring JMS バージョン 4.2.4.RELEASE

MQ Client を使用して MQ に接続したところ、(コマンド ライン経由で) 接続できました。

しかし、WAS 経由で接続するときに同じユーザーが作業できないのはなぜですか?