問題タブ [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 に答える
10089 参照

java - Spring における @Service アノテーションの機能

これは一種の「@Serviceアノテーションとは?」質問ですが、別のアプローチがあります。なぜなら、ここで何が起こっているのかわからないからです:

私はコントローラクラスを持っています:

その中からsomeBean.handleMsg宛先に応答を送信しようとします。このようなもの:

構成には2 つのバージョンがあります

  1. SomeBean は.xmlで構成されます。

お気に入り:

  1. SomeBean はサービスとして注釈が付けられています(最初のものにはありません):

お気に入り:

  • これら 2 つのケースでは、インジェクションなどの問題はないことに注意してください。どちらのケースでも、クライアントは正常にサブスクライブされ、メッセージが送信され、メッセージが処理されます。

唯一違いは次のとおりです。

  • アノテーションがある場合SomeBean@Serviceクライアントに正常に応答しますが、アノテーションがない場合、例外はありませんが、クライアントは応答メッセージを受信しません。

質問は次のとおりです。

  • この場合、@Service は実際には何をしますか? 誰かがここで何が起こっているのか説明してもらえますか?
0 投票する
1 に答える
1270 参照

java - Spring メッセージング + セキュリティ websocket を介してログインする方法は?

spring-messaging と STOMP over sockJs を備えたサーバーを開発しています。Websocket を介して認証を行いたい。したがって、クライアントからトークンを送信した後、針ユーザーをトークンで取得し、セッションをこのユーザーに関連付けたいので、次のことを行いました:

しかし、セッションは関連付けられていません。この問題について誰か助けてもらえますか?

ありがとう。

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

spring - 別のサービスから websocket にメッセージを送信できません

ここのチュートリアルに従って、Web アプリケーション内に WebSocket をセットアップしました。結果のコードは以下のとおりです。ここで、アプリケーションの別のクラス ( ) からトピックに書き込むと、トピックLocationManagerImpl.javaにサブスクライブしているすべてのクライアントにメッセージを送信できると考えました。しかし、クライアントはメッセージを受け取っていないようです。デバッグしてログを確認すると、メッセージがトピックに書き込まれたことを示すメッセージが表示されますが、クライアントによって読み取られていません。ここで何が間違っているのかわかりません。助けてください。

HelloController.java

WebSocketConfiguration.java

hello.js

サンプル.jsp

LocationManagerImpl.java

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

spring - カスタム MessageConverter を SimpleMessageListenerContainerFactory に登録するには?

MessageConverter インターフェイスを実装する顧客コンバーターがあります。ただし、SimpleMessageListenerContainerFactory に登録する方法がわかりません。その結果、SQS からソース形式のメッセージを読み取ろうとするとエラーが発生します。これは、ターゲット オブジェクトに変換する方法がわからないためです。

SqsConfiguration クラスを調べたところ、定義されている simpleMessageListenerContainer Bean に queueMessageHandler が設定されていることがわかりました。QueueMessageHandler にはリゾルバーがあり、そのうちの 1 つは MessageConverter タイプの Collection を取る CompositeMessageConverter です。このコレクションにカスタム MessageConverter を追加する必要があると思います。どうすればそれができるかを理解できないようです。

顧客の MessageMapper を登録する方法を教えてもらえますか?

0 投票する
4 に答える
3592 参照

apache - Spring Websockets 4.1.6 と Tomcat 7.0.54 および Apache 2.4

Spring WebSockets 4.1.6、Tomcat 7.0.54、および Apache 2.4.16 を Web サーバーとして使用して単純なアプリケーションを実行する際に問題が発生しています。

私はインターネットで多くの投稿を読みましたが、何が起こっているのかわかりません。サーバーは問題なく起動します。WebSocket 接続を開始するサーバー プロジェクトで公開された index.html があります。

このファイルに Tomcat から直接アクセスすると、問題なく動作します。

しかし、Apache Server からこのファイルにアクセスすると、うまくいきません。

私のApacheサーバーでは、プロキシパスを構成しました:

私のサーバーの WebSocket 構成は次のようになります。

そして、私のクライアントは次のように接続します:

サーバーは、非同期サポートを有効にする必要があるというエラーをスローしますが、どうすればよいかわかりません。

web.xml ファイルにプロパティを追加しようとしましたが、うまくいきません:

何か案が?

前もって感謝します。

マルク

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

spring - Spring SimpMessagingTemplate

RabbitMQ からデータを受け取るアプリケーションがあります。すべてが正常に機能します。つまり、@EnableScheduling という注釈を付けたクラスです。

しかし、RabbitMQ からキュー リスナーによって受信されたメッセージを処理し (これも機能します)、SimpMessagingTemplate を使用して Stomp WebSocket の特定のコンテキストにそれらを渡したい場合、それはできません。SimpMessagingTemplate は、dispatcher-servlet.xml で定義されていますが、RabbitMQ に関する設定はルート コンテキストにあります。すべてを 1 つのコンテキストに移動しようとしましたが、うまくいきません。誰かが私が持っているものと同様のケースを持っていますか?