问题标签 [bayeux]

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 回答
832 浏览

cometd - CometD 发布数据的问题

我是 CometD 的新手,在频道上发布数据时遇到问题。由于未在我的频道上调用握手(),我收到以下错误:

Sender : null Sender : L:/abc/1? Exception in thread "Thread-9" java.lang.IllegalStateException: Method handshake() not invoked for local session L:/abc/1? at org.cometd.server.LocalSessionImpl.getId(LocalSessionImpl.java:161) at org.cometd.server.ServerChannelImpl.publish(ServerChannelImpl.java:309) at packagename.CometDSender.sendData(CometDSender.java:64) at packagename.ProcessorImp.processData(ProcessorImp.java:18) at packagename.TestSource.processNewData(TestSource.java:50) at packagename.TestSource.run(TestSource.java:36) at java.lang.Thread.run(Unknown Source)

但是当我包含时,sender.handshake()我得到以下异常

我在下面包括了我的课程。有人可以告诉我我是否遗漏了什么:

公共类 CometDSender 实现 Sender {

}

0 投票
1 回答
243 浏览

java - 将 java 事件通知给 JSF Bean

当java程序收到异步消息时,有什么方法可以通知jsf/spring bean?而且,java程序是一个Java BayeuxClient(Cometd)作为pojo。程序成功接收元频道和订阅频道上的消息,如下所示。

FacesContext 在这些方法中不可用,甚至 bean 也被注释为 (@Component @Scope("session") 用于 jsf/spring 集成。无法注入 bean,因为 facesContext 不可用。我们如何注入 jsf bean 或通知 spring bean以上方法?

0 投票
1 回答
1464 浏览

cometd - CometD 订阅监听器

我在处理来自客户的订阅请求并根据请求执行一些处理时遇到问题。我希望能够在服务器上收到传入订阅请求时调用一个方法并执行一些处理。我查看了以下 CometD 文档并尝试了“订阅配置支持”中概述的示例,但我运气不佳。

http://www.cometd.org/documentation/2.x/cometd-java/server/services/annotated

我已经使用 Spring Bean 创建了 Bayeux 服务器,并且能够将数据发布到我在服务器端创建的其他通道名称。任何帮助或其他信息。关于这个话题将不胜感激!

我正在使用的代码示例:

0 投票
1 回答
121 浏览

cometd - Storing User Credientials in the Bayeux Server

I'd like to store the clients UserName and SessionId when a client subscribes to a particular channel. When i override canHandshake() i can get the user credentials using the following:

Just wondering how i can store these credentials and later retrieve them? I've had a look at the authentication documentation here and it just mentions linking the authentication data to the session. Is this the Bayeux Server side session??

Thanks

0 投票
1 回答
547 浏览

cometd - 创建了 Bayeux 服务器的重复实例

我的 CometD 应用程序有问题。看起来它创建了多个 Bayeux 服务器实例。我的配置文件如下所示,我使用 Web Sockets 作为 Transport/GigaSpaces 来部署应用程序(它使用自己的嵌入式码头服务器)。只是想知道我是否在以下设置中配置错误?

WEB.XML:

POM.XML:

我的应用程序上下文文件(pu.XML):

0 投票
1 回答
1855 浏览

cometd - Bayeux 服务器配置问题

我们的 CometD/Gigaspaces 应用程序在创建 Bayeux 服务器的重复实例时遇到了问题。请参阅我之前发布的问题here。在研究了 Gigaspaces 的这个问题后,我们发现在我们的应用程序上下文文件中定义的每个 bean 都被创建了两次,因为 GigaSpaces 对名为 PU.XML 的应用程序上下文文件进行了特殊处理。我们已经通过重命名 PU.XML 文件解决了这个问题,但我们现在遇到的问题是我们没有在客户端接收任何数据并收到以下错误“NetworkError:400 Unknown Bayeux Transport - http://localhost:9292/cometd”。

以前,当应用程序创建 Bayeux 服务器的重复实例时,我们采取了一种解决方法来终止运行 Bayeux 服务器的线程的第一个实例,因此我们能够使用 Web 在我们的频道上发布数据我们在应用程序上下文文件中配置的套接字。

您能否看看我们当前的配置,让我知道是否有替代解决方案可以使用 Spring 正确配置和导出 Bayeux 服务器?Bayeux bean 是否有可能没有正确导出或者导出得太晚?

我在下面发布了我们更新的 Web.XML 和应用程序上下文配置。我们 POM.XML 中的 CometD 版本/Jars 与我之前的帖子相同。如果您需要更多信息。请告诉我。

当前的 Web.XML:

当前 applicationContext-gigaspaces.XML:

0 投票
1 回答
130 浏览

publish-subscribe - 过滤/阻止客户端发布行为到 Faye 的房间

我一直在考虑将 Faye 用于我一直在从事的项目,因为 socket.io 给我带来了麻烦。我在他们的 github 上设置并使用了一些示例,发现客户可以直接发布到他们连接的任何房间。这与我想要的行为不同。我想将某些房间中的客户端行为限制在他们根本无法发布的地方,但服务器会定期向房间发送数据,更新他们所有的新信息(基本上是某些房间的严格订阅行为)。Faye 是否可能出现这种行为,还是我在找错树?

0 投票
1 回答
180 浏览

cometd - 网络故障后的 Cometd 推送通知

Cometd 推送通知在客户端或服务器恢复后无法成功。这个帖子不清楚。 Cometd:看来 ServerChannel 失去了一些订阅者。有什么建议吗??

0 投票
1 回答
365 浏览

java - 注释 Cometd Java 客户端

Cometd 文档指出: 在代码中执行订阅的一个好地方是在 * /meta/handshake 函数中。由于 /meta/handshake 侦听器在客户端执行的显式握手和服务器触发的重新握手中都被调用,因此可以保证您的订阅始终正确执行并与服务器状态保持一致。* 当网络连接恢复时,JavaScript 和继承样式不会丢失订阅者。当使用带注释的 cometd java 客户端的代码时,订阅者会丢失,如下所示。你如何订阅bayeuxClient.handshake()中的频道;使用注释样式的方法。

注释样式

继承风格

0 投票
1 回答
1068 浏览

streaming - 贝叶长轮询彗星〜使用代理失败

我正在尝试在 SalesForce 中使用 Streaming API,它基本上是使用 Comet / Long Polling 技术实现的。在客户端,我们使用 Java 和 jetty-http、bayeux-api、cometd-java-client

如果我们在没有代理的情况下运行应用程序,一切都会完美运行。但是如果客户端使用网络代理

A. 能够进行用户认证

B. 长轮询握手成功

C. meta/connect 最初有 402 错误(参考下面的日志)但最终成功

D.永远不要从服务器端得到任何响应

有没有想过这里发生了什么,为什么代理会导致这种情况,即使上面 A、B、C 中的所有 HTTP 连接请求都是成功的?