2012-04-02 64 views
2

我有開發了一個JSF Web應用程序,現在我想添加一個聊天。問題是我不知道如何做到這一點。 AJAX輪詢(每20秒檢查一次郵件)對我來說似乎是一個壞主意(請糾正我,如果我錯了),所以我想用某種Comet(流媒體將是完美的,但我不介意如果它是長期投票)。正如你可能會懷疑的那樣,所需的語言是JavaJSF聊天示例

我試過使用Grizzly,但我找不到JSF的例子,只有一些使用servlet。然後我嘗試使用JMSManagedBean,但我仍然不知道如何將消息放在前端(進行實際推送)。有人建議Atmosphere,但有很多吹牛(它適合JSF),但缺乏實際的例子讓我懷疑它。當然,我並沒有拒絕任何這些技術,只是我不知道如何使用它們。

我不希望使用一些JSF擴展(如RichFaces,IceFaces等),因爲它似乎不適用於僅用於一個功能的另一個實現。我沒有時間進行大量的研究,因此查看這些框架的來源也是不可能的。

我需要什麼是一個功能齊全的聊天示例(或一個偉大的工作教程),應該滿足我的需求。而且這儘可能快。

獎金因爲我真的需要非常快一個很好的答案,我保證會不會有一些好的信息(足以讓我接受它)< = 24小時(希望少)內,當我將能夠(2天內)我會給該用戶一個賞金。

+0

你看過這裏嗎? http://stackoverflow.com/questions/5260110/implementing-chat-application-with-java-ee – 2012-04-02 15:34:24

+0

@LuiggiMendoza我沒有提到它,但一切都應該在Java和/或JavaScript。不管怎麼說,還是要謝謝你。 – Dragos 2012-04-02 16:46:22

+0

使用該鏈接我已經找到[java開源聊天服務器](http://www.java-sources.net/open-source/chat-servers)和[kryonet](http://code.google.com/p/kryonet /)一個庫,用於處理網絡通信(可用於聊天應用程序!你應該做更多的研究。 – 2012-04-02 16:51:21

回答

2

結賬cometD。您可以在演示中找到基本的聊天實施。

投票站

  • 它非常強大(具有高性能)和簡單易用
  • 據可查
  • 運行在任何的Servlet 2.5+兼容的容器
  • 很好地集成了最常用的Javascript框架jQuery和Dojo

CON外

  • 有沒有高 - 可用性集羣解決方案(但也有集羣解決方案,但沒有內置的狀態恢復,如果一個節點崩潰)
  • 這不是完全CDI - 符合EJB。這意味着您需要使用構造函數,getter和setter來使其在Java EE 6 bean中可用。你不能注入它(這不是一個真正的限制,它只是一個estethic的)。
+0

沒有JSF演示。他們沒有詳細說明這個框架。 – Dragos 2012-04-03 00:02:40

+0

@Dragos你是對的。但是你要找的東西和cometD中的聊天示例之間的唯一區別就是用戶界面。服務器部分可以完全使用。 – perissf 2012-04-03 07:34:35