Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.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 Websocket从服务器广播到客户端_Java_Spring_Websocket_Spring Websocket - Fatal编程技术网

使用JAVA Websocket从服务器广播到客户端

使用JAVA Websocket从服务器广播到客户端,java,spring,websocket,spring-websocket,Java,Spring,Websocket,Spring Websocket,我制作了一个spring引导服务器,它在给定端点上接受MachineData消息,并将它们写入postgres db。此外,我希望通过Websocket将这些消息广播到一个或多个angular客户端,因此我在控制器中添加了一个WebSocketConfig.java和以下内容: @RestController @RequestMapping("/machine_data") public class MachineDataController { private fi

我制作了一个spring引导服务器,它在给定端点上接受MachineData消息,并将它们写入postgres db。此外,我希望通过Websocket将这些消息广播到一个或多个angular客户端,因此我在控制器中添加了一个WebSocketConfig.java和以下内容:

@RestController
@RequestMapping("/machine_data")
public class MachineDataController
{
    private final MachineDataRepository MachineDataRepository;

    public MachineDataController(MachineDataRepository MachineDataRepository)
    {
        this.MachineDataRepository = MachineDataRepository;
    }
    
    @MessageMapping("/ws") // ???
    @SendTo("/ws") // ???
        public MachineData broadcastMessage(MachineData message) throws Exception {
            return message;
        }
    
    @PostMapping("/create")
    public MachineData createNewMachineData(@RequestBody MachineData machineData)
    {
        try {
            this.broadcastMessage(machineData);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return MachineDataRepository.save(machineData);
    }
}
客户端能够连接到“ws://localhost:8080/ws”,但没有消息到达。以下是我的WebsocketConfig:

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {

    @Override
    public void configureMessageBroker(MessageBrokerRegistry config) {
        config.enableSimpleBroker("/topic");
        config.setApplicationDestinationPrefixes("/app");
    }

    @Override
    public void registerStompEndpoints(StompEndpointRegistry registry) {
        registry.addEndpoint("/ws").setAllowedOrigins("*");
        registry.addEndpoint("/ws").setAllowedOrigins("*").withSockJS();
    }
}
这里出了什么问题?我读过几篇关于JAVA Websockets聊天相关示例的文章,但我只想在创建db条目时将这些消息从服务器传递到客户端。 问候