問題タブ [spring-messaging]

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 投票する
0 に答える
308 参照

spring - Spring Stomp メッセージの送信と受信 ID

サーバーによって確認されるメッセージを発行するだけの単純な Java クライアントを作成できるように、Spring StompBrokerRelay を構成する正しい方法は何ですか。
Spring クライアント StompSession は、クライアントからメッセージを送信するときに Receiptable を返し、ReceiptTasks を構成することは可能ですが、サーバーから受信が受信されません。

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

spring-integration - sftp インバウンド チャネル ファイルをクリーンアップするためのトランザクション内での再試行遅延の作成

sftp:inbound-channel-adapterリモート フォルダーからローカル フォルダーにファイルを同期する があります。拡張子が .xml のファイルを見つけるMessage<File>と、新しいトランザクションを作成してrouterChannelチャネルに送信します。

approverRouterxml 内を調べて、プロセスを続行できるかどうかを判断します。すべてが正常であれば、メッセージは「okChannel」に送信され、保存のためにデータベースに送られます。ただし、問題が発生した場合、メッセージは にint:delayer10 秒間送信され、 に再送信されapproverRouterます。

トランザクションが成功または失敗した場合は、ダウンロードしたファイルを完了/失敗フォルダーに移動するだけですsftpCommittedChannelsftpRolledBackChannel

これを説明する xml を次に示します。

私の問題は、メッセージが遅延器に送信されると、ポーラーで作成されたトランザクションが正常に完了することです。これは、メッセージがint:delayer(retryChannel 経由で) に到着したときに、同じ元のスレッドに存在しなくなったためだと思います。

必要なのは、遅延を追加するがメッセージを元のトランザクション内に保持する同期遅延器であると思います。これは私の設計が正しくないように感じます。

再試行の遅​​延を作成し、成功または失敗時に sftp フォルダーを整理するために、通常の人は何をしますか。

0 投票する
0 に答える
287 参照

java - Spring の STOMP のブローカー チャネルの @SubscriptionMapping

次の Spring の Web ソケット構成は合法ですか?

私が達成したいのは、自分の@Controllervia でトピックのサブスクリプションをインターセプトできるようにすること@SubscribeMappingです。ただし、それを機能させるには、プレフィックスをアプリケーションの宛先プレフィックス/topicとして定義する必要があります。ドキュメントと JavaDoc を読むと、これは正しくないという印象を受けます (メッセージはブローカーまたはアプリケーション ハンドラーによって処理されるはずです)。それにもかかわらず、それは機能します...したがって、それが合法的な構成であるかどうかの問題です。

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

rabbitmq - Spring+RabbitMQ はキューを耐久性のないものにします

Spring Websocket アプリケーションの Stomp ブローカーとして RabbitMQ を使用しています。クライアントは SockJS ライブラリを使用して websocket インターフェイスに接続します。Spring によって RabbitMQ で作成されたすべてのキューは永続的ですが、トピックは永続的ではありません。キューを非耐久性にする方法はありますか? アプリケーション側で設定できるとは思いません。RabbitMQ の設定を少し試しましたが、セットアップもできませんでした。

SUBSCRIBE と SEND に使用される RabbitMQ の送信先の例:

services-user-_385b304f-7a8f-4cf4-a0f1-d6ceed6b8c92

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

spring - Spring MessageBuilder と Spring Integration MessageBuilder

Spring 4 が導入されましorg.springframework.messaging.support.MessageBuilder<T>た。org.springframework.integration.support.MessageBuilder<T>そして、Spring Integration フレームワークに存在するものが 1 つあります。

では、Spring 4 で Spring Integration を使用している場合、どのメッセージ ビルダーを使用する必要があり、その理由は何ですか?

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

java - Spring の SimpMessagingTemplate での NullPointerException

Websocket を介して STOMP を使用してメッセージを送信するアプリケーションを構築しています。クライアントからのリクエストなしでメッセージを送信したい。ドキュメントによると、convertAndSend を使用してこれを行うことができます。

ただし、これを実行しようとすると、null ポインター例外が発生します。以下のコードを参照してください。

スタックトレース:

誰でも私の状況に光を当てることができるので、例外に遭遇することなくWebSocket経由でメッセージを送信できます.

前もって感謝します。

0 投票する
0 に答える
72 参照

jpa - STOMP Spring Messaging を使用した JPA 遅延読み込み

Spring は OpenEntityManagerInViewFilter を提供して、ビュー フェーズ中にオブジェクトの遅延読み込みを有効にしますが、WebSocket 上の STOMP のようなメッセージ パッシング アーキテクチャでそれを使用したい場合はどうすればよいでしょうか?

@MessageMapping メソッドで遅延プロパティを持つエンティティを返す必要がある場合、私が知っている唯一の方法は、返す前にエンティティでプロパティ ゲッターを手動で呼び出すことです。そうしないと、Jackson が JSON にシリアル化するときに例外が発生します。

その一般的な問題に対するより洗練された解決策はありますか?

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

java - TimeToLive を JmsTemplate で動作させるには?

JmsTemplate に TTL を設定しようとしていますが、メッセージの有効期限が切れません。ActiveMQ Web コンソールを使用してメッセージに TTL を設定すると、設定した期間が経過すると有効期限が切れます。

これは私が今持っているものです:

ドキュメントには、explicitQosEnabledtrueに設定する必要があるとしか書かれていませんが、明らかにこれでは不十分です。私が間違っていることを誰かが知っていますか?

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

eclipse - spring:message (I18n) エラーが発生しました: ロケール 'en' のコード 'property.name' の下にメッセージが見つかりませんでした

春の国際化(i18n)を実装しています。Eclipseのローカル環境で正常に動作しています。しかし、開発サーバーにデプロイすると、このエラーが発生します。

私の spring-mvc-config.xml には次の設定があります。

なんらかのパスの問題により、開発サーバー上のプロパティ ファイルを検出できないと思います。ここで定義されたパス「config/language」は私のローカルでは正常に機能しますが。