質問

質問 AutoWire SimpMessagingTemplate

クラスExecutOrsubscribeChannelに問題があります。サーバーにブラウザに非同期メッセージを送信したいです。適切にExecutOrsBubscribeChannel を使うことができますか?

例:

public class GreetingController {


    @Autowired
    private SimpMessagingTemplate template;

    public void setTemplate(SimpMessagingTemplate template) {
        this.template = template;
    }

    @MessageMapping("/hello")
    @SendTo("/topic/greetings")
    public Greeting greeting(HelloMessage message) throws Exception {
        Thread.sleep(5000); // simulated delay
        this.template.convertAndSend("/topic/greetings", "Hello World");
        return new Greeting("Hello, " + message.getName() + "!");
    }
}
.

しかし私が行を送っている「Hello World」のテキスト

this.template.convertAndSend("/topic/greetings", "Hello World");
. ブラウザが受信していません。他のすべてがうまく機能します。

Beans設定は次のとおりです。

<bean id="executorSC" class="org.springframework.messaging.support.ExecutorSubscribableChannel"/>

<bean id="template" class="org.springframework.messaging.simp.SimpMessagingTemplate">
    <constructor-arg index="0" ref="executorSC"/>
</bean>
.

事前にありがとうございました。

役に立ちましたか?

解決

この質問は、Intellijのアイデアのバグのために書かれました。応答はが自動反対になることができませんでした。SimpMessagingTemplateタイプが見つかりませんでした

a a a a a a a a a a a a a a a tidea-123964">この問題を解決するためにJetBrainsで作成されています。

他のヒント

この設定を使用してみてください

<websocket:message-broker
    application-destination-prefix="/app">
    <websocket:stomp-endpoint path="/ws">
        <websocket:sockjs />
    </websocket:stomp-endpoint>
    <websocket:simple-broker prefix="/topic/greetings" />
</websocket:message-broker>
.

の代わりにp>
<bean id="executorSC" class="org.springframework.messaging.support.ExecutorSubscribableChannel"/>
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top