Project Icon

spring-amqp-samples

Spring AMQP集成实践与示例项目

Spring AMQP示例项目包含多个实用案例,如HelloWorld、Stocks应用和RabbitMQ教程的Spring Boot版本。项目涵盖同步异步消费者、Web界面和命令行操作等多种场景,并提供详细的构建说明。开发者可通过这些示例深入学习Spring与AMQP的集成应用,是掌握Spring AMQP技术的实践指南。

本项目包含一些与 Spring AMQP 相关的示例,向您展示如何开始使用 Spring 和 AMQP。

构建说明

首先安装 RabbitMQ 代理(版本 2.3.1 或更高)。然后从 GIT 克隆并使用 Maven(2.1.*):

$ git clone ...
$ mvn install

SpringSource ToolSuite 用户(或使用最新 m2eclipse 插件的 Eclipse 用户)可以将项目导入为现有的 Maven 项目。

基本的 HelloWorld 示例有两个版本(具有同步和异步消费者)。两者都有名为 ProducerConsumer 的 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 在这方面还不够出色,但总有一天要达到标准,所以您会有很大帮助)。
  • 一些单元测试也会有很大帮助 - 总得有人来做这件事。
  • 如果没有其他人使用您的分支,请将其变基到当前的主分支(或主项目中的其他目标分支)上。
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号