Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何向多个用户发送消息和ping用户stomp_Java_Spring_Websocket_Message Queue_Stomp - Fatal编程技术网

Java 如何向多个用户发送消息和ping用户stomp

Java 如何向多个用户发送消息和ping用户stomp,java,spring,websocket,message-queue,stomp,Java,Spring,Websocket,Message Queue,Stomp,如何在spring项目中使用stomp ping活动用户? 我已经搜索了2天了,但是这个代码不起作用 客户端脚本: var socket = new SockJS('/connect'); stompClient = Stomp.over(socket); stompClient.subscribe('/topic/active', function(activeMembers) { console.log(activeMembers); showActiv

如何在spring项目中使用stomp ping活动用户? 我已经搜索了2天了,但是这个代码不起作用 客户端脚本:

var socket = new SockJS('/connect');   
stompClient = Stomp.over(socket);
stompClient.subscribe('/topic/active', function(activeMembers) {
        console.log(activeMembers);
        showActive(activeMembers);
    });
以下是spring配置:

 <websocket:message-broker application-destination-prefix="/chat">
    <websocket:stomp-endpoint path="/connect, /activeUsers">
        <websocket:handshake-interceptors>
            <bean class="uz.mirworldstyle.sensation.component.MessagingHandshakeInterceptor"/>
        </websocket:handshake-interceptors>
        <websocket:sockjs/>
    </websocket:stomp-endpoint>
    <websocket:simple-broker prefix="/topic, /queue"/>
</websocket:message-broker>

下面是一个java类:

@Service
public class ActiveUserPinger {

@Autowired
private MessagingController messagingController;

@Autowired
MessageSendingOperations<String> stringMessageSendingOperations;

@Autowired
private ActiveUserService activeUserService;

@Autowired
private SimpMessagingTemplate template;


@Scheduled(fixedDelay = 2000)
public void pingUsers() {
    Set<Integer> activeUsers = activeUserService.getActiveUsers();

    template.convertAndSend("/topic/active", activeUsers);
    stringMessageSendingOperations.convertAndSend("/topic/active", activeUsers);
}
}
@服务
公共类ActiveUserPinger{
@自动连线
专用MessagingController MessagingController;
@自动连线
MessageSendingOperations字符串MessageSendingOperations;
@自动连线
私有ActiveUserService ActiveUserService;
@自动连线
私有SimpMessagingTemplate;
@计划(固定延迟=2000)
公共用户(){
设置activeUsers=activeUserService.getActiveUsers();
template.convertAndSend(“/topic/active”,activeUsers);
stringMessageSendingOperations.convertAndSend(“/topic/active”,activeUsers);
}
}