wil*_*g81 2 spring mongodb server-sent-events
我有一个需求,我需要将插入到特定 MongoDB 集合中的数据实时显示到用户的仪表板上。请注意数据可能由该用户或其他用户插入。仪表板是 Spring MVC Web 应用程序的一部分。MongoDB 数据层是用 Spring Data 编写的。
我打算使用服务器发送的事件方法将新插入的数据推送到仪表板。我正在寻找一种使用 Spring 侦听数据插入的有效方法。我什至愿意采用非 Spring 方法来实现最终将与我的 Spring SSE 发射器对话的 Listener。
如果所有保存都通过您的 spring-data 层,那么您可以使用 Mongo Listener Life cycle events docs。
@Component
public class MongoListener extends AbstractMongoEventListener<Account>
{
@Override
public void onAfterSave(AfterSaveEvent<E> event) {
if (LOG.isDebugEnabled()) {
LOG.debug("onAfterSave({}, {})", event.getSource(), event.getDocument());
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果不是,您将不得不阅读 mongo oplog 并处理或创建一个上限集合并使用可尾游标。
这是一个使用可尾游标的示例项目。
| 归档时间: |
|
| 查看次数: |
8371 次 |
| 最近记录: |