Vorrei inviare messaggi da Java a client WebSocket. Ho effettuato correttamente l'invio di un client js al server e ricevuto un messaggio sui client 2 js, quindi il codice lato client funziona correttamente.Messaggio push da Java con Spring 4 WebSocket
Il mio problema è che vorrei avviare un invio quando si verificano eventi all'interno dell'app Java. Ad esempio, ogni volta che vengono effettuati 10 ordini, invia un messaggio a tutti i clienti iscritti. È possibile?
mio config corrente:
<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");
}
}
Quello che mi piacerebbe essere in grado di fare è qualcosa di simile:
public class OrderManager {
@Autowired MessageController messageController;
int orderCount = 0;
public void processOrder(Order o) {
orderCount++;
if(orderCount % 10 == 0)
messageController.greeting();
}
}
e tutti i clienti iscritti alla websocket ricevere un messaggio.
Ho implementato il tuo approccio e ora ottengo un'eccezione "Impossibile avviare il bean subProtocolWebSocketHandler". Ho creato un post su di esso. Dai un'occhiata se puoi. Grazie. http://stackoverflow.com/questions/37638396/getting-a-failed-to-start-bean-subprotocolwebsockethandler-exception-while-try –
ciao, ho fatto lo stesso processo ma il mio websocket non è chiamato, non ho qualsiasi errore –