我的Spring Boot Websocket设置出现异常行为。 有时它起作用,有时却不起作用,只是感觉是随机的。 我尝试了几种设置,但都没有得到证实:我将最后一行代码移到了应用程序主类中的命令行运行器中,最后选择的是带有@Component批注的其他类。
我的设置如下:我使用jdbc驱动程序(pgjdbc-ng)来使用postgres的listen notify函数。我有一个函数和一个触发器,用于监听特定postgres表的插入。如果发生任何情况,则通过websocket发送通知。另一个是一个有角度的应用程序,它使用ng2-stompjs侦听/ topic / notificari的通知。我没有发布代码,因为通知不会很快结束,角度不是问题。
亲切的问候,
这是我的WebSocketConfiguration
app.yaml
我正在使用类ListenNotify和JDBC驱动程序pgjdbc-ng连接到PostgreSQL数据库并使用侦听通知功能
runtime: python37
}
最后,这是实例化ListenNotify对象并侦听postgres中可能触发必须使用websocket发送的通知的事件的代码。
Override
public void configureMessageBroker(MessageBrokerRegistry registry) {
registry.enableSimpleBroker("/topic", "/queue", "/user", "/notificari");
registry.setApplicationDestinationPrefixes("/app");
registry.setUserDestinationPrefix("/user");
}
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/socket").setAllowedOrigins("*")
.setHandshakeHandler(new CustomHandshakeHandler());
}
}
答案 0 :(得分:0)
我没有使用Spring,所以无法测试您的代码。这是我的测试版。我认为这总结了差异-
ListenNotify extends Thread
我确信还有其他实现方式,也欢迎对我的任何假设进行更正。
我经过测试且正在运行的代码在此答案JMS Websocket delayed delivery中。