Cometd is a scalable HTTP-based event routing bus that uses a Ajax Push technology pattern known as Comet. The term 'Comet' was coined by Alex Russell in his post Comet: Low Latency Data for the Browser.
The Plugin setup a Cometd servlet and includes all the demo programs from the original Cometd distribution.
该插件建立了一个Cometd servlet并包含所有原来Cometd版本的例子程序。
compatibility note The cometd demo works in any version. but there is a bug that caused the Cometd Servlet to fail when any Grails controller is added to the project. Please use Grails 1.1 RC1 or later for Grails development.
compatibility note The cometd例子在任何版本下都有效。但有一个小问题,当任何Grails controller 添加到工程时,Cometd Servlet会引起失败。请使用Grails 1.1 RC1或更新版本。
特点:
- included everything from the cometd distribution, including all libraries and demo programs.
- With two additional classes for 'bridging' Cometd and the Spring-based Grails
- 使用2个额外的类作为桥接Cometd和基于 Spring的 Grails
- SpringCometdServlet
- extends ContinuationCometdServlet
- it is created to skip the init() method in AbstractCometdServlet that load the init-parameters from web.xml. This implementation loads the parameters from Spring configuration instead.
- filters are not loaded from a json file, but is also defined in Spring configuration. (remarks: this feature is not properly tested !)
- SpringBayeux
- A singleton bayeux instance is the core Bayeux server component
- SpringBayeux extends ContinuationBayeux
- The SpringBayeux is expected to be constructed in Spring before the initialization of servlet context.
- 动态增加servlet and servleting mapping,在spring中创建一个单例的Bayeux
Dynamically adding servlet and servleting mapping, and create a singleton Bayeux in Spring
-
- Servlet mapping
- 默认的, the Cometd servlet are mapped to *.cometd, /cometd, /cometd/*, and /plugins/cometd-${version}/cometd (for running the demo programs 目的是运行 示例程序)
- the 'cometd' namespace is configurable with 'cometd.namespace' system property
- the 'cometd' namespace是可以配置的,位于系统属性中的'cometd.namespace'。
- Spring
- The Bayeux instance is named 'bayeux' in Spring's application context
用法
For non-Grails users, download a Grails binary distribution and setup environmental variables according to the Grails installation procedure, then run the following commands to create your Cometd project and access the demo:
- grails create-app ${applicationName}
- cd ${applicationName}
- grails install-plugin cometd
- grails run-app
- 访问示例位置:access the demo at http://localhost:8080/${applicationName}/plugins/cometd-${pluginVersion}/
- 自0.1.2版本起,如下配置是可用的。from 0.1.2, the following configurations are available:
· plugins {
· cometd {
· 'servlet-mapping' {
· namespace = 'cometd'
· }
· 'noCacheFilter' {
· disable = false; //the filter add HTTP Header for disabling HTTP cache
· }
· 'cometdService' { // Cometd provides extra functions including logging and client tracking
· disable = false; // disable
· }
· }
· }
- 系统属性不再支持System property is no longer supported.
- 日志logging
debug consoleAppender: 'org.grails.plugins.cometd'
发送和接收消息与cometd channels
send and receive message to/from cometd channels
- 一个名为'bayeux'的spring bean,它代表Cometd server,你将在你的应用程序中和他交互
- a Spring bean named 'bayeux' which represents the Cometd server and you will interact with it in your application
o class MyChatService{
o def bayeux
o }
- 服务端接收消息receiving message at the server side
- 服务端发送消息sending messaege at the server side
版本与兼容性
- 版本 0.1.*
- 支持 Grails 1.1 RC1 for Grails开发
- 包含 cometd-jetty 6.1.12 / cometd-api 1.0beta4
- 该插件使用cometd-jetty, quote from the cometd mail list:
- "Note that the jetty cometd servlet will run on tomcat. It just wont use the async features of tomcat, but it will still handle many hundreds of simultaneous users (good for many apps)."
链接
作者: Mingfai Ma (mingfai.ma (at-no-spam) gmail.com)
Close
近日弄个例子上来
分享到:
相关推荐
2. **安装Grails插件**:有了GroovyEclipse的支持,我们还需要安装Grails插件。同样地,可以通过Eclipse的"Help" -> "Install New Software",添加Grails插件的更新站点(如:...
Grails Pjax插件Pjax在Grails中。 Pjax类似于(turbolinks)[ ,在'A'标签,按钮和表单上工作。 参见_pjaxHeader grails templtate文件中的演示代码。 ## Pjax是什么? Pjax是一个jQuery插件,它使用ajax和pushState...
为了在Grails环境中方便地使用SVN,我们需要安装一个支持SVN的客户端插件,这就是Subclipse。本指南将详细介绍如何在Grails环境中安装Subclipse插件。 首先,启动你的Eclipse集成开发环境(IDE),这是Grails通常...
5. **插件系统**:Grails的插件系统是其灵活性的一大体现,允许开发者复用和扩展功能。例如,有用于安全性的spring-security-core插件,用于邮件发送的mail插件,以及用于RESTful API的rest-api-doc插件等。这些插件...
Eclipse 插件 Grails(Groovy)是一个强大的开发工具,它使得在Eclipse环境中进行Groovy和Grails应用的开发变得更为便捷。Groovy是一种动态、面向对象的编程语言,而Grails则是一个基于Groovy的开源Web应用框架,...
grails的插件系统也是其亮点之一。首先,和rails,django等web框架类似,基于微内核的思想,插件(可重用模块)是框架的一等公民。grails除了核心模块以外的功能几乎都是通过插件方式实现的。实际上,一个grails插件...
elasticsearch-grails-plugin, 恢复的ElasticSearch grails插件 Elasticsearch插件插件这个项目是一个基于Elasticsearch的插件,这个项目是基于的人完成的伟大工作的。你为什么想要为原来的Elasticsearch插件提供...
《Grails技术详解:中文文档与Fckeditor-0.9.5插件解析》 Grails,作为一款基于Groovy语言的开源Web应用框架,以其高效、简洁的特性深受开发者喜爱。它集成了许多Java EE的功能,同时简化了开发流程,使得开发人员...
概括Grails插件将Primefaces集成到Grails项目中。 带有Java JDK 1.7的最低Grails版本是2.3.7,并且依赖项具有以下版本: 核心JSF 2.2 Primefaces 5.2 Apache MyFaces 2.2.8 可以在上找到源代码安装通过在BuildConfig...
《Grails Shiro UI 插件详解:构建安全的Groovy应用》 Grails Shiro UI 插件是为基于Groovy的Grails框架开发的一款强大而易用的安全管理插件,它集成了Apache Shiro安全框架,为开发者提供了一整套用户认证和授权的...
《Grails Acegi 0.5插件:深入解析与应用》 在Web应用程序开发领域,安全性始终是不可忽视的重要一环。Grails Acegi 0.5插件,作为一个针对Grails框架的安全管理插件,为开发者提供了一种强大且灵活的方式来实现...
《Grails Quartz 0.4.1 插件详解及应用》 在Java开发领域,Quartz是一款广泛应用的作业调度框架,它允许开发者定义、调度和执行任务。而在Groovy和Grails的世界里,Grails Quartz插件为开发者提供了一个无缝集成...
Grails的插件系统是其一大亮点,许多常见的功能,如安全、缓存、报表等,都有现成的插件可以直接集成。比如,spring-security-core 提供了全面的安全管理,cache 提供了缓存功能。 六、GSP(Groovy Server Pages) ...
注意,尽管Eclipse对Grails的支持相比IntelliJ IDEA和NetBeans可能稍显不足,但通过Groovy Eclipse插件的配置,开发者依然能在Eclipse中高效地进行Grails开发。不断更新插件和学习最佳实践将有助于提升开发体验。
5. **Grails插件系统**:Grails拥有庞大的插件库,涵盖各种功能,如安全、缓存、报表、测试等。通过插件,开发者可以轻松地扩展框架功能,避免重复造轮子。 6. **Grails构建工具**:Grails的构建系统自动化处理许多...
3. **插件系统**:Grails 插件是一组可重用的功能模块,可以快速增强应用程序的功能,如Spring Security、Asset Pipeline等。 4. **命令行工具**:Grails 提供强大的命令行工具,支持创建项目、运行应用、生成代码...
用于 Grails 框架的 MyBatis 插件 基于原始 Grails-iBatis 插件:Brian Sanders ( ) Grails 插件主页: : 修改: 命名约定的一些变化 添加了对多个数据源的完全支持 Grails 2.0 插件重构 最小 Grails 依赖项 ...
1. **环境配置**:首先,开发者需要了解如何安装和配置Grails环境,包括Groovy SDK、Grails SDK以及相关的IDE支持,如IntelliJ IDEA或Eclipse的Grails插件。 2. **命令行工具**:Grails提供了强大的命令行工具,...
Grails插件实验 定义Grails 3.0插件域类是可扩展的 SO的详细信息: 该项目包含一个名为security的插件和一个名为bookstore的应用程序以测试该插件。 插件用户: org.centerkey.grails.User 应用程序用户(扩展...