問題タブ [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 4 ストンプ websocket メソッドからプリンシパルおよびセッション属性を取得/設定する方法
私はSpring 4 websockets と stompを使って実験を行っています@MessageMapping
.
ドキュメントには、メッセージ処理メソッドがプリンシパルを引数として取ることができると書かれており、Spring がgetUserPrincipal()
ネイティブ ソケット セッションを呼び出してプリンシパルを取得し、ソケット セッションに関連付けることがわかりましたが、その方法は見つかりませんでした。サーブレット フィルターを記述し、元の要求をラッパーにラップして、Cookie で見つかったプリンシパルを返す以外に、この動作を簡単にカスタマイズできます。
だから私の質問は:
- クライアントが接続するときに、プリンシパルをソケット セッションに手動で設定する方法 (カスタム cookie のおかげでこの情報があり、Spring セキュリティを使用していません)。
- 1 が不可能な場合、クライアントの接続時にソケット セッションに追加の属性を追加する方法は?
- メッセージ処理メソッドからソケット セッションとその属性にアクセスする方法は?
- 接続時にブラウザから送信されたログインとパスコードにアクセスする方法はありますか。それらはSpringによって完全に無視され、アクセスできないようです。
spring - Spring 4 STOMP over WebSocket構成で認証されていないユーザーに返信するにはどうすればよいですか?
Spring 4 WebSocket STOMP アプリケーションを試しています。各ユーザーが一意のセッション ID を持っているという条件で、認証されていない 1 人のユーザーに返信する方法はありますか? 現在、メッセージをブロードキャストするか、認証されたユーザーに直接送信することしかできません。
spring-4 - Spring 4 Websocket で RabbitMQ を宣言して使用する
現在のアプリでは、Spring AMQP を次のように使用しています。
新しいSpring 4ベースのアプリでwebsocketを構成しているとき、交換、キューなどを宣言する方法/場所がわかりません...
このようなものはまだ AMPQ で実装する必要がありますか?
heroku - Heroku Integration.xml での Spring Boot が見つかりません
このガイドに従って、Heroku にSpring Bootアプリをデプロイしようとしています: http://codingricky.com/booting-spring-boot-into-heroku/ (Ricky Yim に感謝)
それはかなり簡単に思えますが、私のアプリには依存関係integration.xml
に必要な が含まれています:spring-messaging
そうは言っても、私はSpring Integration
websockets / STOMP メッセージングだけを使用しているわけではありません。したがって、依存関係が必要です。
アプリを起動しようとすると、単純な見つからないというエラーが表示されます。
ローカルintegration.xml
には/src/main/resource
ディレクトリにありrun as -> spring boot
、Eclipse からの場合は問題なく配置されます。
また、HTML の単一ページと、websockets をデバッグするためのいくつかの javascript ファイルも用意しています。
/resource
アプリがjar としてデプロイされたときにディレクトリ内のこれらのファイルを見つけることができるようにするには、何を変更する必要がありますか?
java - ExecutorSubscribableChannel の使用方法
質問autowire simpmessagingtemplateに関連
ExecutorSubscribableChannel クラスに問題があります。サーバーがブラウザに非同期メッセージを送信するようにします。ExecutorSubscribableChannel を適切に使用するにはどうすればよいですか?
例:
しかし、私がラインで送信している「Hello World」テキスト
ブラウザで受信されていません。他のすべては正常に動作します。
Bean の構成は次のとおりです。
前もって感謝します。
rabbitmq - Apache Camel/RabbitMQ を介して Spring Boot の「metricsChannel」を使用する
spring-messaging への依存関係が存在する場合、Spring Boot はすべてのメトリクス イベントをメッセージ チャネル「metricsChannel」に発行します。私のプロジェクトでは、RabbitMQ と共に Apache Camel をブローカーとして使用しています。春の統合ではなく、純粋にCamelを使用してこれらのメトリクスメッセージを消費する方法はありますか?
Apache Camel には SpringIntegration コンポーネントがあることがわかりますが、RabbitMQ コンポーネントを介してこれらのメッセージに直接アクセスする方法があるかどうか、または camel コンポーネントの spring-integration にも依存関係を追加する必要があるかどうかを知りたいですか?
spring - SpringのMessageSendingOperationsでプレーンなエスケープされていない文字列を送信するには?
Spring Messaging と Spring Socket を使用して4.0.5.RELEASE
います。
プレーンな String メッセージをブローカーに送信したいと思います。たとえば、サーバー側で次のことを行うと、そのような文字列がエスケープされることがわかります。
サブスクライブした STOMP クライアントは、次のメッセージを受け取ります。
そのため、ペイロードには周囲の引用符とエスケープされた引用符が含まれます。
エスケープされていない「通常の」文字列を送信するにはどうすればよいですか?
spring - 内部で spring-websocket メッセージをサブスクライブする
spring-websocket を使用してメッセージをブラウザ クライアントにプッシュしています。
私の設定はポートフォリオの例とほぼ同じで、 MessageSendingOperationsを使用してメッセージを送信します。
これは完全に機能します。
しかし、同じメッセージを内部で購読できるようにしたいと考えています。
MessageRecomingOperationsは使用するもののように見えますが、メッセージのプルのみをサポートしているようです。メッセージを自分のサービスにプッシュしてもらいたいです。
SubscribableChannel.subscribe()も有望に見えますが、どうすれば正しいチャンネルを取得できますか?
私は本当に次のようなものを呼び出すことができるようにしたいと思います
java - ログインせずにSpring Websockets @SendToUser?
私は websocket 機能を備えた単純な春のアプリケーションを持っており、これまでのところすべてが機能しています。@SendToUser アノテーションを使用して、サーバーから特定のクライアントにメッセージを送信したいと考えています。これにより、「メッセージを無視しています。プリンシパル情報がありません」というエラーが表示されます。サーバーにログインしていないため、すべてのユーザーは「匿名」であり、プリンシパルを持っていないことを理解しています(現在、春のセキュリティを使用していません)。ただし、すべてのユーザーにはセッション ID があります。セッションIDを使用してユーザーを区別することはできませんか? ユーザーがセッション ID に対応するプリンシパルを取得できるようにするにはどうすればよいですか?
spring - Spring メッセージング WebSocket - setMessageCodec の呼び出し方法
Genson
の代わりにSpring WebSocket を使用しようとしていますJackson
。クライアントから接続しようとすると、次のようになります。
カスタム メッセージ コーデックを設定する必要があるようです。
に.setMessageCodec
メソッドが表示されているTransportHandlingSockJsService
ことはわかりますが、実際に設定できる構成オプションのどこにも表示されません。
.setMessageCodec
クラスにメソッドが存在する必要があると思うSockJsServiceRegistration
ので、構成から設定できます...しかし、そうではありません...アイデアはありますか?
編集:これはバグだと思うので、提起しました: https://jira.spring.io/browse/SPR-12091