本项目包含一些与 Spring AMQP 相关的示例,向您展示如何开始使用 Spring 和 AMQP。
构建说明
首先安装 RabbitMQ 代理(版本 2.3.1 或更高)。然后从 GIT 克隆并使用 Maven(2.1.*):
$ git clone ...
$ mvn install
SpringSource ToolSuite 用户(或使用最新 m2eclipse 插件的 Eclipse 用户)可以将项目导入为现有的 Maven 项目。
基本的 HelloWorld 示例有两个版本(具有同步和异步消费者)。两者都有名为 Producer
和 Consumer
的 Java 类,带有启动的 main 方法。先运行生产者,并确保代理已经在运行。
Stocks 示例有一个可以作为 Java main 启动的 UI,以及具有相同属性的守护进程服务器。您可以轻松地从 IDE 运行它们。运行 Server
然后运行 Client
,您应该会看到弹出一个 swing 客户端,并出现股票行情。要从命令行运行,可以使用 Maven exec 插件:
$ mvn exec:java -Dexec.classpathScope=test -Dexec.mainClass=org.springframework.amqp.rabbit.stocks.Server &
$ mvn exec:java -Dexec.classpathScope=test -Dexec.mainClass=org.springframework.amqp.rabbit.stocks.Client
在上面的示例中,我们将服务器进程放在后台运行,或者您可以在不同的窗口中运行它,以使控制台日志更清晰。
Web UI
Stocks 示例也是一个 Web 应用程序。您应该能够在 IDE 中运行它,例如,如果您将项目导入到 STS(或支持 Maven 的 Eclipse)中,可以将其拖到服务器上,或使用 Run As...->On Server
。从命令行,您可以使用
$ mvn jetty:run
Web UI 的设计类似于 swing 客户端 - 它有一个每秒更新的行情表(如果有任何新数据),以及一个订单输入表单。QuoteController
管理浏览器与应用程序之间以及应用程序与 AMQP 代理之间的交互。
RabbitMQ 教程
rabbitmq-tutorials
中提供了 6 个标准 RabbitMQ 教程 的 Spring Boot 版本。
Spring Boot 应用程序
还提供了几个 Spring Boot 应用程序,名称为 spring-rabbit-...
。
查看它们各自的 README 以获取更多信息。
为 Spring AMQP 示例做贡献
以下是您参与社区的一些方式:
- 在 Spring 社区论坛上参与 Spring 社区。请通过回答问题和参与讨论来帮助 论坛。
- 为 bug 和新功能创建 JIRA 工单,并对您感兴趣的工单进行评论和投票。
- Github 是用于社交编码的:如果您想编写代码,我们鼓励通过 此存储库的分支 提交拉取请求进行贡献。如果您想以这种方式贡献代码,请同时引用一个 JIRA 工单,涵盖您要解决的具体问题。
- 通过 订阅 springframework.org 来关注即将发布的 Spring 文章。
有关必要步骤的完整信息,请参阅 spring-amqp 的 贡献者指南。
代码约定和内务管理
这些都不是拉取请求的必要条件,但它们都会有所帮助。它们也可以在原始拉取请求之后但合并之前添加。
- 使用 Spring Framework 代码格式约定(如果您使用 Eclipse,请从项目根目录导入
eclipse-code-formatter.xml
)。 - 确保所有新的 .java 文件都有一个简单的 Javadoc 类注释,至少包含一个标识您的 @author 标签,最好还有至少一段关于该类用途的说明。
- 向所有新的 .java 文件添加 ASF 许可证头注释(从项目中的现有文件复制)
- 将自己作为 @author 添加到您实质性修改的 .java 文件中(不仅仅是外观变化)。
- 添加一些 Javadocs,如果您更改了命名空间,还要添加一些 XSD 文档元素(Spring AMQP 在这方面还不够出色,但总有一天要达到标准,所以您会有很大帮助)。
- 一些单元测试也会有很大帮助 - 总得有人来做这件事。
- 如果没有其他人使用您的分支,请将其变基到当前的主分支(或主项目中的其他目标分支)上。