我必须在 spring 和 rabbitmq 中开发一个应用程序。这对我来说是新的,我根本没有太多经验。
基本上,该应用程序必须:
不断检查数据库,如果有一些更改,则将消息发送到确定的队列。
监听一些队列并回复一些数据。
所以我的问题是你会选择什么来制作这个应用程序,一个基于控制台的应用程序还是一个基于 Web 的应用程序。为什么?
ps:对不起,如果我的英语不好。
无论您将其编写为控制台应用程序还是 Web 应用程序,对您实际执行数据库检查和消息发送的方式几乎没有影响。如果这就是你要问的,那没关系。
独立与 Web 应用程序的选择受其他因素的影响,例如您将如何部署应用程序,其他开发人员(如果有其他人与您一起工作)对构建和运行独立应用程序与 Web 应用程序的熟悉程度,以及用于在开发中运行和测试您的应用程序的工具支持。
就个人而言,我认为我会选择一个 Web 应用程序,因为全世界都在编写 Web 应用程序,因此已经建立了大量的支持来在其中和与它们一起做事,包括构建、测试和部署它们。您往往会从 Maven 和 Gradle 等构建工具中获得更好的测试 web 应用程序的支持,尽管 Gradle 似乎缩小或缩小了这方面的差距。您还可以获得一个免费的远程界面,其中包含一个几乎是当今通用语言 (HTTP) 的 web 应用程序,它可以让您轻松地在任何地方使用该应用程序。
如果您只想检查数据库并将消息发送到 rabbitmq 队列并回复一些数据,那么我建议您使用仅限控制台的应用程序。您可以将应用程序作为独立服务运行。Spring 已经与 RabbitMQ 集成。
我们已经在使用 Spring-RabbitMQ 在我们的应用程序中进行一些繁重的计算,这些计算是由另一个应用程序完成的。因此,我们将计算应用程序作为独立的控制台应用程序运行,该应用程序会监听到达 Rabbit MQ 的消息。
如果您想远程监控此过程,则需要一个 Web 应用程序。例如,您需要查看到达的消息类型,然后根据输入消息进行回复,并且您需要远程完成所有操作,您需要一个 Web 应用程序。否则,让它成为一个简单的控制台应用程序。您也可以使用 Maven 等构建工具来测试控制台应用程序。希望这可以帮助