基于时间的通知架构

2024-01-16

我正在设计一个通知服务(服务器)。我可以有两种通知:一种是立即发送,另一种是在将来的某个时间发送。

是否有一个框架来处理未来的通知?

我知道我可以编写后台工作人员,例如,他们可以对数据库进行采样以查找需要发送的通知,但我确信数百万人已经尝试解决这个问题,并且我更愿意重用经过验证的解决方案。

我还没有决定框架/数据库。我想我应该使用 vertx.io 或 Jetty (WebSockets) 来推送通知。我不确定数据库,因为我希望它支持未来的通知。

Update:您建议我如何将数据保存在数据库中以用于“实时”通知(用户收件箱中存在的通知)和将来的通知?

Update: 我正在考虑使用以下任一方法:

  1. Jetty + Spring 用于 WebSocket 和 SockJS + Quartz
  2. Vertx.io(支持 Websocket 和 Sockjs)

有什么推荐吗?


一种方法是将通知传递给调度组件。调度组件使用所有通知、存储通知并定期检查是否需要发送通知。

这将允许将侦听器附加到通知,并且不会在发布者端堆积通知。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于时间的通知架构 的相关文章

  • 获取文件的锁

    我想在对特定文件开始 threo read 时获取文件上的锁定 以便其他应用程序无法读取已锁定的文件并希望在线程终止时释放锁定文件 您可以获得一个FileLock https docs oracle com javase 8 docs ap
  • Java 7 默认语言环境

    我刚刚安装了 jre7 我很惊讶地发现我的默认区域设置现在是 en US 对于jre6 它是de CH 与jre7有什么不同 默认区域设置不再是操作系统之一吗 顺便说一句 我使用的是Windows7 谢谢你的回答 编辑 我已经看到了语言环境
  • 如何在 Openfire 中使用 smack

    你好 我计划开发一个可以连接到 gtalk facebook 等的聊天客户端 我决定将 smack API 与 openfire 一起使用 但我需要很少的指导来了解如何将它与 openfire 服务器一起使用 openfire 是否提供了基
  • (Java) App Engine 中的静态文件无法访问

    The 示例文档 http code google com appengine docs java gettingstarted staticfiles html表示您只需将文件放在 war 或子目录 中 并且应该可以从主机访问它们 只要它
  • 文本在指定长度后分割,但不要使用 grails 打断单词

    我有一个长字符串 需要将其解析为长度不超过 50 个字符的字符串数组 对我来说 棘手的部分是确保正则表达式找到 50 个字符之前的最后一个空格 以便在字符串之间进行彻底的分隔 因为我不希望单词被切断 public List
  • 从 MS Access 中提取 OLE 对象(Word 文档)

    我有一个 Microsoft Access 数据库 其中包含一个包含 Microsoft Word 文档的 OLE 对象字段 我试图找到代码来检索保存在 OLE 对象中的文件 以便用户可以从我的 JavaFx 应用程序中的按钮下载它 但没有
  • 您建议使用哪种压缩(GZIP 是最流行的)servlet 过滤器?

    我正在寻找一个用于大容量网络应用程序的 GZIP servlet 过滤器 我不想使用容器特定的选项 要求 能够压缩响应负载 XML Faster 已在大批量应用的生产中得到验证 应适当设置适当内容编码 跨容器移植 可选择解压缩请求 谢谢 我
  • 如何在java Spring Boot中实现通用服务类?

    我有许多具有重复代码的服务 我想知道如何实现通用服务 以便我的所有服务都可以扩展它 服务接口示例 重复代码 Service public interface IUserService List
  • 为什么Iterator接口没有add方法

    In IteratorSun 添加了remove 方法来删 除集合中最后访问的元素 为什么没有add方法来向集合中添加新元素 它可能对集合或迭代器产生什么样的副作用 好的 我们开始吧 设计常见问题解答中明确给出了答案 为什么不提供 Iter
  • 是否可以从 servlet 内部以编程方式设置请求上下文路径?

    这是一个特殊情况 我陷入了处理 企业 网络应用程序的困境 企业应用程序正在调用request getContext 并将其与另一个字符串进行比较 我发现我可以使用 getServletContext getContextPath 获取 se
  • 如何通过注解用try-catch包装方法?

    如果应该在方法调用中忽略异常 则可以编写以下内容 public void addEntryIfPresent String key Dto dto try Map
  • 从直方图计算平均值和百分位数?

    我编写了一个计时器 可以测量任何多线程应用程序中特定代码的性能 在下面的计时器中 它还会在地图中填充花费了 x 毫秒的调用次数 我将使用这张图作为我的直方图的一部分来进行进一步的分析 例如调用花费了这么多毫秒的百分比等等 public st
  • Java:如何确定文件所在的驱动器类型?

    Java 是否有一种独立于平台的方法来检测文件所在的驱动器类型 基本上我有兴趣区分 硬盘 可移动驱动器 如 USB 记忆棒 和网络共享 JNI JNA 解决方案不会有帮助 可以假设 Java 7 您可以使用 Java 执行 cmd fsut
  • 如何从日期中删除毫秒、秒、分钟和小时[重复]

    这个问题在这里已经有答案了 我遇到了一个问题 我想比较两个日期 然而 我只想比较年 月 日 这就是我能想到的 private Date trim Date date Calendar calendar Calendar getInstanc
  • 如何停止执行的 Jar 文件

    这感觉像是一个愚蠢的问题 但我似乎无法弄清楚 当我在 Windows 上运行 jar 文件时 它不会出现在任务管理器进程中 我怎样才能终止它 我已经尝试过 TASKKILL 但它对我也不起作用 On Linux ps ef grep jav
  • 无需登录即可直接从 Alfresco 访问文件/内容

    我的场景是这样的 我有一个使用 ALFRESCO CMS 来显示文件或图像的 Web 应用程序 我正在做的是在 Java servlet 中使用用户名和密码登录 alfresco 并且我可以获得该登录的票证 但我无法使用该票证直接从浏览器访
  • JMS 中的 MessageListener 和 Consumer 有什么区别?

    我是新来的JMS 据我了解Consumers能够从队列 主题中挑选消息 那么为什么你需要一个MessageListener因为Consumers会知道他们什么时候收到消息吗 这样的实际用途是什么MessageListener 编辑 来自Me
  • 使用 Java https 上传到 Imgur v3 错误

    我目前正在尝试使用他们当前的 API v3 上传到 imgur 但是我不断收到错误 错误 javax net ssl SSLException 证书中的主机名不匹配 api imgur com imgur com OR imgur com
  • Java 的 PriorityQueue 与最小堆有何不同?

    他们为什么命名PriorityQueue如果你不能插入优先级 它看起来与堆非常相似 有什么区别吗 如果没有区别那为什么叫它PriorityQueue而不是堆 默认的PriorityQueue是用Min Heap实现的 即栈顶元素是堆中最小的
  • 检查应用程序是否在 Android Market 上可用

    给定 Android 应用程序 ID 包名称 如何以编程方式检查该应用程序是否在 Android Market 上可用 例如 com rovio angrybirds 可用 而 com random app ibuilt 不可用 我计划从

随机推荐

  • Idris 中类型的模式匹配

    可能这是基本的 但我不明白为什么下面的函数回答 1fnc Nat并且 对于fnc 整数 它甚至没有作为模式包含在内 fnc Type gt Integer fnc Bool 1 fnc Nat 2 您不能对类型进行模式匹配 也不应该这样做
  • Leaflet - 可拖动标记和坐标以字段形式显示

    我必须做一个可拖动的标记 它的坐标应该显示在字段中 它将成为 PHP 联系表单的一部分 我创建了一个可拖动标记 请帮助我现在做什么 var marker L marker new L LatLng 53 471 18 744 draggab
  • GMap.net 中的缩放和平移

    我正在努力使GMap Net http greatmaps codeplex com 使用 WPF 内置事件控制启用多点触控 但我没有成功 我发现了一系列关于多点触控的文章 例如this http blogs msdn com b jaim
  • MVC4:嵌套部分视图丢失模型数据

    在 MVC4 项目中 我使用部分视图 该视图使用 ViewModel 并具有 GET 表单 在控制器操作中 我期望 ViewModel 对象包含一些数据 当将此部分放置在普通 cshtml 视图上时 我通过控制器操作中的预期 ViewMod
  • 开源拼写检查

    正在评估向我拥有的产品添加拼写检查 根据我的研究 需要做出的主要决定 要使用的库 词典 可以是特定地区的 英式英语 美式等 排除列表 每当检测到拼写错误时 它都可能不是拼写错误 而是 特定于用户的用语 此时用户应该能够将其添加到他的自定义排
  • 预处理器愚蠢的做法(对 #include 进行字符串化)

    注意 这个问题与 OpenCL 本身无关 请检查最后一段以获取我的问题的简洁陈述 但提供一些背景 我正在编写一些使用 OpenCL 的 C 代码 我喜欢将 OpenCL 内核的源代码保存在自己的文件中 以便于编码和维护 而不是直接将源代码作
  • 如何获取 YouTube 视频的 mp4/mov/m4v 视频链接?

    我们可以获取 youtube 上加载的任何视频的文件 url 吗 我不喜欢在我的应用程序中使用 youtube 播放器 并且想使用 MPMoviePlayerController 的实例启动它 PS 也会将其标记为 php 因为跨域的开发人
  • 实体框架提供列名称作为字符串变量

    我正在寻找获得这样的东西的方法 string col1 first name string name var query from c in ctx Customers select c name query FirstOrDefault
  • 如何删除 python 中输出末尾的空格?

    我有一个程序可以计算并打印句子中包含特定字符的所有单词 忽略大小写 Python 代码 item input ip input tolower r ip count item print r ip ip split for word in
  • 如何使用 C# 搜索一系列范围值

    我有一个像这样的值列表 1000 20400 22200 24444 范围不重叠 我想要做的是有一个 C 函数 可以存储 从数据库加载的值 然后在本地缓存 这些值的相对较大的列表 然后有一个方法来查找提供的值是否在任何范围内 这有道理吗 需
  • 需要 GLbc 优化

    为什么无法重新编译 GLibc 并关闭所有优化 即 O0 特别是在这样做时 make CFLAGS O0 w CXXFLAGS O0 w I get error glibc cannot be compiled without optimi
  • 使用未声明的类型“日期”Xcode 9 Swift 4

    这是我在 xcode 9 Playground 中的代码 class Tutorial Codable let title String let author String let editor String let type String
  • 从正则表达式模式返回不匹配的行

    如果我有一个看起来像这样的 pandas 数据框 Sequence Rating 0 HYHIVQKF 1 1 YGEIFEKF 2 2 TYGGSWKF 3 3 YLESFYKF 4 4 YYNTAVKL 5 5 WPDVIHSF 6 这
  • 使用具有多个输入的 grepl 分配组

    我有一个数据框 df lt data frame name c john david callum joanna allison slocum lisa id 1 7 df name id 1 john 1 2 david 2 3 call
  • 在 PHP 中从 JSON 数组中提取特定键值 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我收到来自
  • DBus与其他进程间通信方式的区别

    当我研究Linux进程间通信时 我知道有一些方法 管道 消息队列 套接字 信号 共享内存 信号量 并且没有名为Dbus的方法 但是今天 当我研究 Dbus 时 我读到 D Bus 是一个进程间通信 IPC 系统 请参阅 该链接 https
  • React 中的 msal.js - Azure 身份验证

    我收到错误 但 azure 中的所有访问都正常 也许我的端点是错误的 你有什么想法吗 错误 APP TEST 需要访问组织中只有管理员才能授予的资源的权限 请先请求管理员授予此应用程序的权限 然后才能使用它 我用这个 example 租户I
  • 如何跟踪SQL Server中记录的变化?

    我有下表 其中包含所有学生的跟踪记录 ID Department Date 001 English Feb 3 2017 001 English Feb 4 2017 001 Science Mar 1 2017 001 Science A
  • 程序仅在调试器之外的发布模式下崩溃

    我有相当庞大的程序 gt 10k 行 C 代码 从 Visual Studio 中启动时 它可以在调试模式或发布模式下完美运行 但从命令行手动启动时 发布模式二进制文件通常会崩溃 并不总是 带删除的行导致崩溃 bool Save const
  • 基于时间的通知架构

    我正在设计一个通知服务 服务器 我可以有两种通知 一种是立即发送 另一种是在将来的某个时间发送 是否有一个框架来处理未来的通知 我知道我可以编写后台工作人员 例如 他们可以对数据库进行采样以查找需要发送的通知 但我确信数百万人已经尝试解决这