Chciałbym przekazać wiadomości z Java do klientów WebSocket. Udało mi się wysłać klienta js na serwer i odebrać wiadomość na 2 klientach js, więc kod po stronie klienta działa poprawnie.Wyślij wiadomość z Java ze Spring 4 WebSocket
Mój problem polega na tym, że chciałbym rozpocząć wysyłanie, gdy zdarzenia wystąpią w aplikacji Java. Na przykład za każdym razem, gdy zostało złożone 10 zamówień, wyślij wiadomość do wszystkich subskrybowanych klientów. czy to możliwe?
Mój aktualny config:
<websocket:message-broker application-destination-prefix="/app">
<websocket:stomp-endpoint path="/hello">
<websocket:sockjs/>
</websocket:stomp-endpoint>
<websocket:simple-broker prefix="/topic"/>
</websocket:message-broker>
@Controller
public class MessageController {
@MessageMapping("/hello")
@SendTo("/topic/greetings")
public Greeting greeting() throws Exception {
return new Greeting("Hello world");
}
}
Co chciałbym być w stanie zrobić coś takiego:
public class OrderManager {
@Autowired MessageController messageController;
int orderCount = 0;
public void processOrder(Order o) {
orderCount++;
if(orderCount % 10 == 0)
messageController.greeting();
}
}
i wszystkie subskrybowane klientów do websocket otrzymać wiadomość.
Zaimplementowałem Twoje podejście i teraz otrzymuję wyjątek "Nie można uruchomić komponentu bean subProtocolWebSocketHandler". Stworzyłem post o tym. Proszę spojrzeć, jeśli możesz. Dzięki. http://stackoverflow.com/questions/37638396/getting-a-failed-to-start-bean-subprotocolwebsockethandler-exception-while-try –
cześć, zrobiłem ten sam proces, ale mój websocket nie jest wywoływany, nie mam jakikolwiek błąd. –