2017-03-09 93 views
0

我跟着这个guide与mongoDB建立一个gradle Springboot服务,然后跟着deployment instructions为heroku。我还添加了mongoLab addOn。它在localhost上完美工作,但是当在heroku上达到数据库部分时,响应无限期地停止。当我删除mongoDB行并重新部署时,响应完美地工作。我如何使用mongoDB工作将此应用程序部署到heroku?如何在Gradle Springboot REST应用程序中连接heroku和mongodb?

编辑:这是错误的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

+0

你可以分享你删除的行,使应用程序工作? – codefinger

+0

我完整地添加了项目。例如,在GameController中,在“/ create”端点上,当我删除“database.save(board)”这一行时,它可以工作,但是当那一行出现时,它不起作用。 这在本地很好,但不适用于heroku – sicter

回答

0

我不得不添加一个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()); 
    } 
} 
相关问题