java - JSF 聊天示例

标签 java jsf chat

我已经开发了一个 JSF Web 应用程序,现在我想为其添加聊天功能。问题是我不知道该怎么做。 AJAX 轮询(每 20 秒检查一次消息)对我来说似乎是一个坏主意(如果我错了,请纠正我),所以我想使用某种 Comet(流媒体将是完美,但我不介意是否长时间轮询)。正如您可能怀疑的那样,所需的语言是 Java

我尝试过使用Grizzly,但我找不到 JSF 的示例,只有一些使用 servlet。然后我尝试将 JMSManagedBean 一起使用,但我仍然不知道如何将消息带到前端(进行实际的推送)。有些人建议使用Atmosphere,但有很多吹嘘(它适合JSF),但缺乏真实的例子让我对此产生怀疑。当然,我并不是拒绝这些技术,只是我不知道如何使用它们。

我不想使用某些 JSF 扩展(如 RichFaces、IceFaces 等),因为仅针对一项功能使用另一种实现似乎并不正确。我没有时间进行大量研究,因此查找这些框架的源代码也是不可能的。

我需要的是一个功能齐全的聊天示例(或一个很棒的实用教程),它应该可以满足我的需求。而且要尽快。

奖金因为我真的需要非常快的一个非常好的答案,我保证如果在 <= 24 小时(希望更少)内有一些好的信息(足以让我接受它),当我能够(两天内)时,我会给该用户悬赏。

最佳答案

查看cometD 。您可以在演示中找到基本的聊天实现。

专业人士:

  • 功能非常强大(高性能)且易于使用
  • 有据可查
  • 在任何 Servlet 2.5+ 兼容容器上运行
  • 与最常用的 Javascript 框架 jQuery 和 Dojo 完美集成

缺点:

  • 目前还没有高可用性的集群解决方案(不过有集群解决方案,但如果一个节点崩溃,没有内置的状态恢复功能)
  • 它不完全符合 CDI - EJB。这意味着您需要使用构造函数、getter 和 setter 才能使其在 Java EE 6 bean 中可用。你不能注入(inject)它(这不是真正的限制,这只是一种审美限制)。

关于java - JSF 聊天示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9979162/

相关文章:

java - 防止 JWindow 出现在所有窗口的顶部

java - 将用户的备注作为字符串传递给 java bean

mysql - 我需要3秒的间隔来执行每个mysql_query

javascript - 在聊天应用程序中连接到特定客户端

python - 当我在柴油中使用产量时,telnet 连接关闭

java - sql命令未正确结束错误

Java 等价于 C# 的 TimeSpan

java - ICEfaces:如何禁用某些表单的发送接收更新机制

jsf - 如何通过其接口(interface)定义复合内部中继器的内容?

java - JPA实体映射到特定表