【发布时间】:2015-11-18 13:44:57
【问题描述】:
我是分布式开发的新手,我正在尝试在 Spring Boot 的帮助下编写一个 Web 应用程序并通过 Gradle 构建。昨天的目标是通过 Web 输入表单数据,然后通过我的 REST API 将此表单数据存储在 MongoRepository 中,最后将其从存储库中取回并显示到新视图中。我在这一切上都取得了成功。
当我向前思考时,我意识到在部署到网络上“上线”时,我对这一切的工作原理一无所知。
我想知道的关键部分是让我的“mongod”和“mongo”命令作为我的网络应用程序启动的一部分的好方法(最好是干净或简单的)。如果我使用的术语含糊不清,我深表歉意。我目前在我的 Spring Boot 应用程序(已适当注释)中有一个使用 Java 7 的主要方法,可以在本地运行,只要求 eclipse 将我的应用程序作为 Java 应用程序运行,并告诉 Spring 启动本地 Tomcat 服务器来托管我的应用程序。我想我的想法是正确的,但是我必须在此之前通过使用 mongo 的 CLI 手动启动我的 mongo 数据库。
最终,作为 java 应用程序运行的一部分,如何自动启动我的 mongodb?
【问题讨论】:
-
IRL 你的 Mongo 只会运行。此外,IRL 您的 Web 应用程序不负责启动服务器,您的部署过程是简单的脚本、docker 容器、puppet/chef 盒子等。
-
Dave Newton 是对的,在实时环境中,您的数据库服务器将一直运行。如果您想在本地方便,我会编写一个 bash 脚本来发出您需要的所有设置命令。
-
您的应用程序应该能够处理丢失的 MongoDB 连接,无论它是正在启动还是已经运行了很长时间(弹性、断路器)
-
这是很重要的知识。感谢分享!
标签: java mongodb gradle spring-boot