问题标签 [cometd]
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.
jakarta-ee - 为什么我的代码中会出现 ExceptionInInitializerError?
我想知道为什么我会收到 ExceptionInInitializerError?
平台:
- 视窗;
- 玻璃鱼 3.1.2.2;
- 记事本++;
- Cometd java库;
- 码头图书馆;
- Javac 命令行;
我正在逐步建立一个cometd Web 应用程序。经过一些调试后,我意识到码头:HttpClient 类导致 ExceptionInInitializerError,有人可以告诉我这是为什么吗?
我所做的是我去评论代码行,直到我发现问题发生在哪里。
这是发生错误的 CometD_Client 类:
编辑:应用asadmin generate-jvm-report --type=thread
这是我得到的日志:
如果有帮助,这是我的部署描述符,web.xml:
很抱歉寻求帮助来调试我的代码,但我已经尝试了好几天,但 ExceptionInInitializerError 仍然让我感到困惑。
session - CometD 长轮询使会话永不超时
我在 ui 端使用 ExtJs + CometD 和 Spring + Jetty 作为我的应用程序的后端。用户使用 spring 身份验证管理器 (j_spring_security_check) 进行身份验证。正常的 http 请求使用特定的 url 模式 (/myapp),而 cometd 通信发生在不同的 url 模式 (/cometd) 上。
我在服务器上将会话超时值设置为 30 分钟。一旦用户登录,CometD 活动就会开始(如握手、连接等)。我正在为 cometD 提供 Bayex 传输,以用作 WebSocket 和长轮询。对于不支持 WebSocket 的浏览器,CometD 通信使用长轮询机制进行。
问题是由于 CometD 客户端的长轮询,当 CometD 长轮询的心跳到达时,服务器上的会话超时计数器总是会重置。因此,会话在服务器上永远不会超时。
如果请求来自特定 URL(在我的情况下是 cometD url),是否有办法避免重置会话的会话超时值。
另外,如果我可以删除 cometD 发送到服务器的 HTTP 标头中的 JSSIONID 参数,是否有可能。可能如果我可以从 http 标头中删除 JSESSIONID,那么服务器将不会重置该会话的超时计数器。
谢谢,
布里吉
java - Cometd filter data for specific client in channel
I'm designing a system using comet where there is a common channel where data getting published. I need to filter the data using some conditions based on client subscription details. Can anyone tell how I can do this? I thought I can do this using DataFilter.
Is this the correct way? If so any sample code to achieve this please?
maven-2 - 有谁知道 COMETD 和 JERSEY 9 之间是否有任何不兼容?我认为 Jetty 的最新版本不兼容
在尝试将 maven 配置为使用最后一个 Jetty 版本(嵌入式 JETTY 9)后,我尝试使用 cometd(最后一个版本是 2.5.1),我发现它无法正常工作。
正如您在下面看到的,编译失败似乎是由于类型 9.0.0.v20130308 加上 artifactID cometd-websocket-jetty 的 2.5.1 版本。
老实说,我无法理解改进 websocket 的新 Jetty 版本怎么可能不起作用,我想我做错了什么,所以如果有人知道或已经做到了,请告诉我我该怎么做修理它。
顺便说一句,我使用 jdk 1.7.0_09。
干杯!
D
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以上方法?
cometd - CometD 订阅监听器
我在处理来自客户的订阅请求并根据请求执行一些处理时遇到问题。我希望能够在服务器上收到传入订阅请求时调用一个方法并执行一些处理。我查看了以下 CometD 文档并尝试了“订阅配置支持”中概述的示例,但我运气不佳。
http://www.cometd.org/documentation/2.x/cometd-java/server/services/annotated
我已经使用 Spring Bean 创建了 Bayeux 服务器,并且能够将数据发布到我在服务器端创建的其他通道名称。任何帮助或其他信息。关于这个话题将不胜感激!
我正在使用的代码示例:
xmpp - 仅使用 cometd 的聊天应用程序就足够了吗?
我想创建一个只进行文本聊天的网络聊天应用程序。客户将与所有者交谈。所有者将看到可以与之聊天的可用客户,但客户看不到可用用户的列表,他只需单击链接并直接开始与所有者聊天。
所以我只用 cometd 和 jquery 开发了它,它工作正常。这将在实际应用程序中工作还是我应该考虑一些 XMPP 服务器(最好是 openfire)。它只是一个基于文本的聊天。使用 xmpp 和不使用 xmpp 服务器有什么优点和缺点。
java - Cometd 如何动态制作和订阅频道?
我正在尝试创建一个非常简单的 cometD 应用程序。主要是我想动态创建频道。首先,我尝试了 localsession 频道,并在创建后通过客户端 javascript 订阅了它们。它工作完美,但不适用于动态频道创建。让我通过 javascript 传递 rom 变量,ROOM: 'firstroom'
这将创建一个像"/members/firstroom".
但是在另一个用户(例如 ROOM)的另一个呼叫中:'anotherroom' 它创建了另一个房间但破坏了旧房间。
简而言之,我希望所有动态创建的通道都存储在内存中。我试过的客户会话:
然后我尝试像这样在服务器上创建和订阅:
但我在想服务器端订阅将如何改变客户端 html 代码。如何
将取代
manage_members 在服务器端订阅中的位置。
直截了当如何动态创建和存储频道?
websocket - CometD 长轮询是否使用持久连接?
关于 CometD 的长轮询机制是使用持久连接,还是在向其推送消息后断开连接然后重新连接,我无法找到明确的答案。
这对我来说很重要的原因是我目前正在使用一个长轮询推送客户端,它在从服务器发送每条消息(或一批消息)后断开并重新连接,并且重新连接时间引入了我希望得到的随机延迟摆脱。我假设它这样做是为了兼容性,因为它使每次“推送”看起来就像一个非常长的请求/响应,它应该适用于任何浏览器。
那么,CometD 的长轮询是否使用持久的、长寿命的 http 连接?如果答案是肯定的,是有条件的吗?也就是说,是否存在每条发送的消息都会退回到“请求/响应/重新连接”的案例/浏览器?
java - 使用 websocket spring 初始化的长轮询后备
我正在使用 Spring 注释来初始化我的 BayeuxServer。我通过在我的 Spring bean 中设置传输来启用 websocket -
但是现在,当 websocket 连接失败或被禁用时js($.cometd.websocketEnabled = false;)
,它并没有成功回退到长轮询。"400 Unknown Bayeux Transport"
它在萤火虫控制台中引发错误。
我无法设置LongPollingTransport
,setTransports
因为LongPollingTransport
它是库中的一个抽象类。我尝试创建一个扩展LongPollingTransport
并在 API 中指定它的类setTransports
,但这也不起作用。如果我做错了什么,请告诉我。如果 websocket 失败,我们需要长轮询才能工作。
彗星版本:2.5.1
码头版本:7.6.8