java - 我想确保我的Spring Boot服务器启动时MongoDB可用

标签 java mongodb gradle spring-boot

我是分布式开发的新手,我试图在Spring Boot的帮助下编写一个Web应用程序,并通过Gradle进行构建。昨天的目标是通过Web输入表单数据,然后通过我的REST API将表单数据存储在MongoRepository中,最后将其从存储库中带回并显示到新 View 中。我在所有这些方面都取得了成功。

正如我在想的那样,我意识到我对部署到Web上的“一切”如何工作一无所知。

我想知道的关键是,如何以一种好的(最好是干净或简单的方式)使我的“mongod”和“mongo”命令作为Web应用程序的一部分启动。抱歉,我使用的术语不明确。我有一个主要方法在我当前正在本地运行的Spring Boot应用程序中使用Java 7(带有适当的注释),以便在本地运行,只是要求eclipse将我的应用程序作为Java应用程序运行,并告诉Spring启动本地Tomcat服务器进行托管我的应用我想我已经掌握了所有正确的方法,但是在此之前,我必须使用CLI for mongo手动启动mongo数据库。

最终,作为将我的应用程序作为Java应用程序运行的一部分,我如何自动启动mongodb?

最佳答案

正如评论中提到的那样,您正在考虑这种错误的方式。您应该假设您的数据库(Mongo或其他数据库)已经启动并正在运行,但要做好准备。这意味着您的启动伪代码看起来像

doNormalStartupStuff();
try{
    connectToDb();
}
catch(UnableToConnectToDbException e){
    log.fatal("Unable to connect to database, shutting down");
    //possibly send alerts out
    shutdown();
}

关于java - 我想确保我的Spring Boot服务器启动时MongoDB可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33781691/

相关文章:

android - 在 com.android.build.gradle.internal.api.ApplicationVariantImpl_Decorated 上找不到属性 'packageApplication'

C++ 依赖管理最佳实践

android - 实现ActionBarSherlock,gradle错误

java - 在 fragment 生命周期中跟踪对象实例

java - 将 mongodb 与 java 一起使用时出现太多连接错误

java - 使用 Java 测试网站是否支持双向 SSL

mongodb - 分片集合中 mongodb 中的聚合管道

mysql - 哪个数据库更适合这个模型 : I have a JSON tree, 用户可以为任意键添加注释

java - 素数生成的动态筛选算法

java - 如何在创建文件之前检查可用磁盘空间