问题标签 [publish-subscribe]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
254 浏览

nservicebus - IISRESET 后如何续订?

这是我的场景:

  • 具有自托管总线的 Web 应用程序(发布者)
  • 带有 NServiceBus.Host.exe 的 Windows 服务(订阅者)

想象一下,触发一个 IISRESET(不要介意我为什么要这样做),这会使总线重新初始化并丢失已经拥有的订阅。我正在使用 MsmqSubscriptionStorage 并且发布者(网络应用程序)实现了 IAuthorizeSubscriptions 接口。

如何续订订阅并调用 AuthorizeSubscribe()?那可能吗?你对这个场景有什么建议?

0 投票
1 回答
722 浏览

jquery - 是否有 YUI 2 自定义事件发布/订阅事件模型的 jQuery 等效项?

我学习了如何使用 YUI 2 库在 Javascript 中进行开发,并且想知道是否存在与自定义事件 ( http://developer.yahoo.com/yui/event/#customevent )等效的 jQuery

具体来说,我希望能够定义自定义事件,而不必最初附加侦听器。

在 YUI 中,我将创建一个页面类并声明可以订阅的不同自定义事件。下面是一些示例代码来演示我想要做什么,但使用 jQuery

在应用程序 Javascript 中,我想订阅 initEvent。

jQuery中是否有类似的教程/示例?

我知道我可以使用 bind() 和 trigger() 做类似的事情,但我得到的印象是我必须在调用 bind() 时传入一个事件处理程序。

是否可以在 jQuery 中创建自定义事件,但稍后传入事件处理程序?

我希望我的问题是有道理的。谢谢!

0 投票
2 回答
1831 浏览

node.js - node.js 和 juggernaut 发布/订阅

我正在使用快速框架和主宰。我看了很多关于剑圣的例子,所有例子都使用这种方法(客户端):

它安全吗?我不这么认为,每个人都可以从 javascript 控制台订阅频道。有没有办法从服务器端订阅频道?

0 投票
2 回答
1114 浏览

python - 有用的发布-订阅语义

我正在寻找有关实际工作的轻量级发布-订阅机制的设计和实现的维基百科风格的参考。我将根据答案和评论以及我自己的研究来更新问题。

我研究了我的书籍和网络,以查找使用 Python 和 Delphi 完成的发布/订阅工作,但对结果不满意。这些设计依赖于函数签名或位图或插槽来过滤消息或决定应该将什么传递给谁,并且要么过于严格(绑定到消息服务器),要么过于混乱(每个人都可以订阅任何东西)。

我不想自己写。我想找到一些已经经过精心设计、辩论和现场验证的东西。

今天我用 Delphi Pascal 实现了一个设计(因为 Delphi 是我首先需要的)。正如这个 API 所做的那样,在参数类型上分派并不是一个原始想法(它被解释为设计模式 Visitor模式),我想我以前见过类似的东西(但我不记得在哪里;Taligent?)。它的核心是订阅、过滤和分派在类型系统之上。

上面的“回调”就像 Python 中的绑定方法。

Delphi 实现的完整源代码在这里

这是 Python 中的实现。我更改了键名,因为信号消息已经太重了。与 Delphi 实现不同,结果(包括异常)被收集并以列表的形式返回给信号器。

这些是我搜索的原因:

  1. 我已经经历了几千行我必须维护的 Delphi 代码。他们使用观察者模式进行 MVC 解耦,但由于观察者和主体之间的依赖关系过于明确,所以一切仍然非常耦合。
  2. 我一直在学习 PyQt4,如果我必须在 Qt4Designer 中为我想要到达一个有意义的目的地的每个事件单击单击单击,那会杀了我。
  3. 然而在另一个个人数据应用程序上,我需要抽象事件传递和处理,因为持久性和 UI 会因平台而异,并且必须完全独立。

参考

自己和别人找到的应该去这里

  • PybubSub使用字符串作为主题和方法签名(第一个信号定义了签名)。
  • FinalBuilder博客中的一篇文章报告说,他们已成功使用整数结构作为有效负载、消息和整数掩码进行过滤的系统。
  • PyDispatcher的文档最少。
  • D-Bus已被 Gnome 和 KDE 项目等采用。可以使用Python 绑定
0 投票
1 回答
1407 浏览

javascript - Javascript 中的 PubSub/松耦合和 MVC 模式

好的,我是这方面的新手,我一直在尝试研究 Javascript/jQuery 中的 MVC 模式和发布/订阅模式,但是我相信我还没有完全掌握这个概念。

因为我一直是一个人做的,所以我很谦虚地来这里就我试图按照这些模式进行的一个小型教育练习征求意见

http://jsfiddle.net/Couto/R62V8/

好的,这个练习主要是一个登录表单,其中的值保存在 localStorage 中,这又是纯粹的教育,我现在无论如何都不安全,不应该在生产中使用。

请您告诉我您对所使用模式的看法,我是否未能正确使用模式?如果需要,请伤害我,我只是想学习,但我不确定我是否做得对。

0 投票
1 回答
2030 浏览

java - WebSphere MQ 中的订阅者授权与 MDB

我有一个看起来像这样的 MDB:

我在 WebSphere MQ 7 中设置了一个主题。使用 MQ Explorer 的 pub 和 sub 操作似乎都可以。

我在 WebSphere 中设置了一个侦听器端口。监听端口可以成功启动。

当我部署并启动我的应用程序时,MDB 无法读取任何消息。给出的例外是:

我怀疑虽然侦听器端口能够启动,但它不会主动连接,直到附加的应用程序尝试使用它。此时它已通过身份验证,但未授权。

问:WebSphere 中配置的身份验证凭证在哪里?我不知道我在验证谁。@ActivationConfigProperty是在 MDB 中设置的客户端 ID吗?

问:MQ Explorer 中的授权设置在哪里?我看不到任何方法可以向团体或个人授予 pub 或 sub 权利。目前它设置为允许/允许,大概适用于所有人。

0 投票
2 回答
542 浏览

objective-c - PubSub 框架 + 核心数据?

是否可以在 Core Data 持久存储中持久保存 PubSub 框架对象?还是有更好的方法来做到这一点......?我正在开发 RSS 阅读器并寻找缓存 PubSub 检索到的 RSS/Atom 提要的方法。

提前致谢

0 投票
1 回答
189 浏览

nosql - NoSQL 之上的哪个 NoSQL DB 或库支持 nosql 发布-订阅无限数量的客户端?

NoSQL 之上的哪个 NoSQL DB 或库支持 nosql 发布-订阅无限数量的客户端?

我知道redis。还有其他人吗?我认为将 redis 扩展到多台机器有点困难。

0 投票
3 回答
31809 浏览

websocket - Faye 与 Socket.IO(和剑圣)

Socket.IO似乎是最流行和最活跃的 WebSocket 仿真库。Juggernaut使用它来创建一个完整的发布/订阅系统。

Faye也很受欢迎和活跃,并且拥有自己的 javascript 库,使其完整的功能可以与剑圣相媲美。Juggernaut 使用节点作为其服务器,而 Faye 可以使用节点或机架。Juggernaut 使用 Redis 进行持久化(更正:它使用 Redis 进行发布/订阅),而 Faye 仅将状态保存在内存中。

  1. 上面的一切都是准确的吗?
  2. Faye 说它实现了Bayeux——我认为 Juggernaut 没有这样做——是因为 Juggernaut 级别较低(IE,我可以使用 Juggernaut 实现 Bayeux)
  3. 如果 Faye 愿意,是否可以切换到使用 Socket.IO 浏览器 JavaScript 库?还是他们的 javascript 库做了根本不同的事情?
  4. 项目之间是否存在其他架构/设计/理念差异?
0 投票
2 回答
1225 浏览

blackberry - 为黑莓/J2ME 使用 MQTT

我最近看了一篇关于在 Android 上使用 MQTT 的优秀博客。我是 MQTT 新手,为了理解这些概念,我想在 Blackberry 上使用 MQTT 服务。对 MQTT 的工作原理是否有很好的解释... J2ME/黑莓实现对我来说很容易理解。

谢谢 !