問題タブ [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 投票する
2 に答える
15588 参照

spring - Spring 4 ストンプ websocket メソッドからプリンシパルおよびセッション属性を取得/設定する方法

私はSpring 4 websockets と stompを使って実験を行っています@MessageMapping.

ドキュメントには、メッセージ処理メソッドがプリンシパルを引数として取ることができると書かれており、Spring がgetUserPrincipal()ネイティブ ソケット セッションを呼び出してプリンシパルを取得し、ソケット セッションに関連付けることがわかりましたが、その方法は見つかりませんでした。サーブレット フィルターを記述し、元の要求をラッパーにラップして、Cookie で見つかったプリンシパルを返す以外に、この動作を簡単にカスタマイズできます。

だから私の質問は:

  1. クライアントが接続するときに、プリンシパルをソケット セッションに手動で設定する方法 (カスタム cookie のおかげでこの情報があり、Spring セキュリティを使用していません)。
  2. 1 が不可能な場合、クライアントの接続時にソケット セッションに追加の属性を追加する方法は?
  3. メッセージ処理メソッドからソケット セッションとその属性にアクセスする方法は?
  4. 接続時にブラウザから送信されたログインとパスコードにアクセスする方法はありますか。それらはSpringによって完全に無視され、アクセスできないようです。
0 投票する
2 に答える
5311 参照

spring - Spring 4 STOMP over WebSocket構成で認証されていないユーザーに返信するにはどうすればよいですか?

Spring 4 WebSocket STOMP アプリケーションを試しています。各ユーザーが一意のセッション ID を持っているという条件で、認証されていない 1 人のユーザーに返信する方法はありますか? 現在、メッセージをブロードキャストするか、認証されたユーザーに直接送信することしかできません。

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

spring-4 - Spring 4 Websocket で RabbitMQ を宣言して使用する

現在のアプリでは、Spring AMQP を次のように使用しています。

新しいSpring 4ベースのアプリでwebsocketを構成しているとき、交換、キューなどを宣言する方法/場所がわかりません...

このようなものはまだ AMPQ で実装する必要がありますか?

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

heroku - Heroku Integration.xml での Spring Boot が見つかりません

このガイドに従って、Heroku にSpring Bootアプリをデプロイしようとしています: http://codingricky.com/booting-spring-boot-into-heroku/ (Ricky Yim に感謝)

それはかなり簡単に思えますが、私のアプリには依存関係integration.xmlに必要な が含まれています:spring-messaging

そうは言っても、私はSpring Integrationwebsockets / STOMP メッセージングだけを使用しているわけではありません。したがって、依存関係が必要です。

アプリを起動しようとすると、単純な見つからないというエラーが表示されます。

ローカルintegration.xmlには/src/main/resourceディレクトリにありrun as -> spring boot、Eclipse からの場合は問題なく配置されます。

また、HTML の単一ページと、websockets をデバッグするためのいくつかの javascript ファイルも用意しています

/resourceアプリがjar としてデプロイされたときにディレクトリ内のこれらのファイルを見つけることができるようにするには、何を変更する必要がありますか?

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

java - ExecutorSubscribableChannel の使用方法

質問autowire simpmessagingtemplateに関連

ExecutorSubscribableChannel クラスに問題があります。サーバーがブラウザに非同期メッセージを送信するようにします。ExecutorSubscribableChannel を適切に使用するにはどうすればよいですか?

例:

しかし、私がラインで送信している「Hello World」テキスト

ブラウザで受信されていません。他のすべては正常に動作します。

Bean の構成は次のとおりです。

前もって感謝します。

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

rabbitmq - Apache Camel/RabbitMQ を介して Spring Boot の「metricsChannel」を使用する

spring-messaging への依存関係が存在する場合、Spring Boot はすべてのメトリクス イベントをメッセージ チャネル「metricsChannel」に発行します。私のプロジェクトでは、RabbitMQ と共に Apache Camel をブローカーとして使用しています。春の統合ではなく、純粋にCamelを使用してこれらのメトリクスメッセージを消費する方法はありますか?

Apache Camel には SpringIntegration コンポーネントがあることがわかりますが、RabbitMQ コンポーネントを介してこれらのメッセージに直接アクセスする方法があるかどうか、または camel コンポーネントの spring-integration にも依存関係を追加する必要があるかどうかを知りたいですか?

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

spring - SpringのMessageSendingOperationsでプレーンなエスケープされていない文字列を送信するには?

Spring Messaging と Spring Socket を使用して4.0.5.RELEASEいます。

プレーンな String メッセージをブローカーに送信したいと思います。たとえば、サーバー側で次のことを行うと、そのような文字列がエスケープされることがわかります。

サブスクライブした STOMP クライアントは、次のメッセージを受け取ります。

そのため、ペイロードには周囲の引用符とエスケープされた引用符が含まれます。

エスケープされていない「通常の」文字列を送信するにはどうすればよいですか?

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

spring - 内部で spring-websocket メッセージをサブスクライブする

spring-websocket を使用してメッセージをブラウザ クライアントにプッシュしています。

私の設定はポートフォリオの例とほぼ同じで、 MessageSendingOperationsを使用してメッセージを送信します。

これは完全に機能します。

しかし、同じメッセージを内部で購読できるようにしたいと考えています。

MessageRecomingOperationsは使用するもののように見えますが、メッセージのプルのみをサポートしているようです。メッセージを自分のサービスにプッシュしてもらいたいです。

SubscribableChannel.subscribe()も有望に見えますが、どうすれば正しいチャンネルを取得できますか?

私は本当に次のようなものを呼び出すことができるようにしたいと思います

0 投票する
5 に答える
13383 参照

java - ログインせずにSpring Websockets @SendToUser?

私は websocket 機能を備えた単純な春のアプリケーションを持っており、これまでのところすべてが機能しています。@SendToUser アノテーションを使用して、サーバーから特定のクライアントにメッセージを送信したいと考えています。これにより、「メッセージを無視しています。プリンシパル情報がありません」というエラーが表示されます。サーバーにログインしていないため、すべてのユーザーは「匿名」であり、プリンシパルを持っていないことを理解しています(現在、春のセキュリティを使用していません)。ただし、すべてのユーザーにはセッション ID があります。セッションIDを使用してユーザーを区別することはできませんか? ユーザーがセッション ID に対応するプリンシパルを取得できるようにするにはどうすればよいですか?

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

spring - Spring メッセージング WebSocket - setMessageCodec の呼び出し方法

Gensonの代わりにSpring WebSocket を使用しようとしていますJackson。クライアントから接続しようとすると、次のようになります。

カスタム メッセージ コーデックを設定する必要があるようです。

.setMessageCodecメソッドが表示されているTransportHandlingSockJsServiceことはわかりますが、実際に設定できる構成オプションのどこにも表示されません。

.setMessageCodecクラスにメソッドが存在する必要があると思うSockJsServiceRegistrationので、構成から設定できます...しかし、そうではありません...アイデアはありますか?

編集:これはバグだと思うので、提起しました: https://jira.spring.io/browse/SPR-12091