我的数据库托管在其他地方,我在/ conf文件中有这个:
db.default.driver= com.mysql.jdbc.Driver
db.default.url="jdbc:mysql://myserver.com:3306/mydb"
db.default.user=myusername
db.default.password=mypassword
当我在本地测试它然后它连接到数据库就好了。我能够从表格等中创建/删除。我更改了heroku配置:
heroku config:add DATABASE_URL=mysql://myusername:mypassword@<myserver>:3306/mydb
和procfile
web: target/start -Dhttp.port=${PORT} ${JAVA_OPTS}
当我将它部署到heroku时,我收到错误:
2014-06-08T08:21:35.308207+00:00 heroku[web.1]: State changed from starting to crashed
2014-06-08T08:21:35.309586+00:00 heroku[web.1]: State changed from crashed to starting
2014-06-08T08:21:33.996174+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
2014-06-08T08:21:33.996382+00:00 heroku[web.1]: Stopping process with SIGKILL
2014-06-08T08:21:35.293114+00:00 heroku[web.1]: Process exited with status 137
错误日志很长。如果您需要更多信息,请与我们联系。任何帮助表示赞赏!
答案 0 :(得分:0)
这是在黑暗中拍摄的,因为日志中没有任何问题迹象,但我遇到了与Heroku类似的“幽灵”失败。
无论出于何种原因,似乎有很大的延迟试图离开他们的网络。在Heroku上使用Apache Thrift RPC系统时,没有任何工作,直到我将连接超时提升到大约30秒。我看到了RabbitMQ(Heroku附加版本)的间歇性故障,并且他们的支持告诉我在这种情况下也会阻止连接超时。
基于此,我会将其添加到您的配置文件中:
db.default.connectionTimeout=30 seconds