java - 如何在gradle Springboot REST应用程序中将heroku连接到mongodb?

标签 java spring mongodb heroku gradle

我遵循此guide与mongoDB一起设置了gradle Springboot服务,然后遵循deployment instructions来实现heroku。我还添加了mongoLab addOn。它在localhost上可以完美运行,但是在heroku上访问数据库部件时,响应将无限期停止。当我删除mongoDB行并重新部署时,响应工作正常。如何在mongoDB工作的情况下将此应用程序部署到heroku?

编辑:这是heroku日志中的错误
org.mongodb.driver.cluster : No server chosen by WritableServerSelector from cluster description ClusterDescription{type=UNKNOWN, connectionMode=SINGLE, serverDescriptions=[ServerDescription{address=localhost:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketOpenException: Exception opening socket}, caused by {java.net.ConnectException: Connection refused (Connection refused)}}]}. Waiting for 30000 ms before timing out

最佳答案

我必须添加一个mongoLab配置。

@Configuration
public class MongoLabConfiguration {

  public @Bean MongoDbFactory mongoDbFactory() throws MongoException, UnknownHostException {
    return new SimpleMongoDbFactory(new MongoClientURI(System.getenv("MONGODB_URI")));
  }
  public @Bean
    MongoTemplate mongoTemplate() throws Exception {
        return new MongoTemplate(mongoDbFactory());
  }
}

关于java - 如何在gradle Springboot REST应用程序中将heroku连接到mongodb?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42695844/

相关文章:

java - 使用 getClassLoader().getResource 时 Linux 机器上的 FileNotFoundException

spring - Spring Data MongoDb-如何使用仅返回有效文档的“findAll”方法

oracle - 使用 Pentaho Kettle 将字符串转换为 bool 值

mongodb - 你能关闭 MongoDB 缓存吗?

java - 从 Power BI 获取 accessToken,无需 GUI 身份验证

java - 底部导航栏(布局)通过键盘向上移动

java - 在 Spark SQL 中加载 JDBC 表时数据不正确

java - 如何正确处理HttpClientException

java - 使用带有基本身份验证和自定义 header 的 Spring RestTemplate 发送 PDF 附件

spring - Concat 与 MongoDB/Spring 中的多个条件