問題タブ [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.
spring - Spring Stomp メッセージの送信と受信 ID
サーバーによって確認されるメッセージを発行するだけの単純な Java クライアントを作成できるように、Spring StompBrokerRelay を構成する正しい方法は何ですか。
Spring クライアント StompSession は、クライアントからメッセージを送信するときに Receiptable を返し、ReceiptTasks を構成することは可能ですが、サーバーから受信が受信されません。
spring-integration - sftp インバウンド チャネル ファイルをクリーンアップするためのトランザクション内での再試行遅延の作成
sftp:inbound-channel-adapter
リモート フォルダーからローカル フォルダーにファイルを同期する があります。拡張子が .xml のファイルを見つけるMessage<File>
と、新しいトランザクションを作成してrouterChannel
チャネルに送信します。
はapproverRouter
xml 内を調べて、プロセスを続行できるかどうかを判断します。すべてが正常であれば、メッセージは「okChannel」に送信され、保存のためにデータベースに送られます。ただし、問題が発生した場合、メッセージは にint:delayer
10 秒間送信され、 に再送信されapproverRouter
ます。
トランザクションが成功または失敗した場合は、ダウンロードしたファイルを完了/失敗フォルダーに移動するだけですsftpCommittedChannel
。sftpRolledBackChannel
これを説明する xml を次に示します。
私の問題は、メッセージが遅延器に送信されると、ポーラーで作成されたトランザクションが正常に完了することです。これは、メッセージがint:delayer
(retryChannel 経由で) に到着したときに、同じ元のスレッドに存在しなくなったためだと思います。
必要なのは、遅延を追加するがメッセージを元のトランザクション内に保持する同期遅延器であると思います。これは私の設計が正しくないように感じます。
再試行の遅延を作成し、成功または失敗時に sftp フォルダーを整理するために、通常の人は何をしますか。
java - Spring の STOMP のブローカー チャネルの @SubscriptionMapping
次の Spring の Web ソケット構成は合法ですか?
私が達成したいのは、自分の@Controller
via でトピックのサブスクリプションをインターセプトできるようにすること@SubscribeMapping
です。ただし、それを機能させるには、プレフィックスをアプリケーションの宛先プレフィックス/topic
として定義する必要があります。ドキュメントと JavaDoc を読むと、これは正しくないという印象を受けます (メッセージはブローカーまたはアプリケーション ハンドラーによって処理されるはずです)。それにもかかわらず、それは機能します...したがって、それが合法的な構成であるかどうかの問題です。
rabbitmq - Spring+RabbitMQ はキューを耐久性のないものにします
Spring Websocket アプリケーションの Stomp ブローカーとして RabbitMQ を使用しています。クライアントは SockJS ライブラリを使用して websocket インターフェイスに接続します。Spring によって RabbitMQ で作成されたすべてのキューは永続的ですが、トピックは永続的ではありません。キューを非耐久性にする方法はありますか? アプリケーション側で設定できるとは思いません。RabbitMQ の設定を少し試しましたが、セットアップもできませんでした。
SUBSCRIBE と SEND に使用される RabbitMQ の送信先の例:
services-user-_385b304f-7a8f-4cf4-a0f1-d6ceed6b8c92
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 を使用している場合、どのメッセージ ビルダーを使用する必要があり、その理由は何ですか?
java - Spring の SimpMessagingTemplate での NullPointerException
Websocket を介して STOMP を使用してメッセージを送信するアプリケーションを構築しています。クライアントからのリクエストなしでメッセージを送信したい。ドキュメントによると、convertAndSend を使用してこれを行うことができます。
ただし、これを実行しようとすると、null ポインター例外が発生します。以下のコードを参照してください。
スタックトレース:
誰でも私の状況に光を当てることができるので、例外に遭遇することなくWebSocket経由でメッセージを送信できます.
前もって感謝します。
jpa - STOMP Spring Messaging を使用した JPA 遅延読み込み
Spring は OpenEntityManagerInViewFilter を提供して、ビュー フェーズ中にオブジェクトの遅延読み込みを有効にしますが、WebSocket 上の STOMP のようなメッセージ パッシング アーキテクチャでそれを使用したい場合はどうすればよいでしょうか?
@MessageMapping メソッドで遅延プロパティを持つエンティティを返す必要がある場合、私が知っている唯一の方法は、返す前にエンティティでプロパティ ゲッターを手動で呼び出すことです。そうしないと、Jackson が JSON にシリアル化するときに例外が発生します。
その一般的な問題に対するより洗練された解決策はありますか?
java - TimeToLive を JmsTemplate で動作させるには?
JmsTemplate に TTL を設定しようとしていますが、メッセージの有効期限が切れません。ActiveMQ Web コンソールを使用してメッセージに TTL を設定すると、設定した期間が経過すると有効期限が切れます。
これは私が今持っているものです:
ドキュメントには、explicitQosEnabledをtrueに設定する必要があるとしか書かれていませんが、明らかにこれでは不十分です。私が間違っていることを誰かが知っていますか?
eclipse - spring:message (I18n) エラーが発生しました: ロケール 'en' のコード 'property.name' の下にメッセージが見つかりませんでした
春の国際化(i18n)を実装しています。Eclipseのローカル環境で正常に動作しています。しかし、開発サーバーにデプロイすると、このエラーが発生します。
私の spring-mvc-config.xml には次の設定があります。
なんらかのパスの問題により、開発サーバー上のプロパティ ファイルを検出できないと思います。ここで定義されたパス「config/language」は私のローカルでは正常に機能しますが。