PlayFramework 1.2.7 application deploy to CloudBees

314 views Asked by At

I'll try found question, but I couldn't.

I'll try to deploy my application to CloudBees platform. In my application.conf file I set params:

###############################################################
# Production config ###########################################
###############################################################
%production.application.mode=prod
%production.jpa.ddl=create
%production.db.url="jdbc:mysql:"${MYSQL_URL_EASYBOOKDB}
%production.db.driver=com.mysql.jdbc.Driver
%production.db.user=${MYSQL_USERNAME_EASYBOOKDB}
%production.db.pass=${MYSQL_PASSWORD_EASYBOOKDB}

before that, i linked my app with db

bees app:bind -db easybook -a zolt/easybook -as easybookdb

I have installed cloudbees module for playframework. I deploy my app, like that:

play bees:app:deploy --%production

have that answer:

upload complete, response=<?xml version="1.0" encoding="UTF-8"?>
<ApplicationDeployArchiveResponse>
<id>zolt/easybook</id>
<url>http://easybook.zolt.cloudbees.net</url>
</ApplicationDeployArchiveResponse>
Application zolt/easybook deployed: http://easybook.zolt.cloudbees.net

after that, i go to link http://easybook.zolt.cloudbees.net and see tomcat error page...

in log i see that stacktrace:

SEVERE: Exception sending context initialized event to listener instance of class                play.server.ServletWrapper 
Jan 07 02:56:58 easybook i-9cd9d7e1:  play.exceptions.DatabaseException: Cannot connected to the database, Communications link failure 
Jan 07 02:56:58 easybook i-9cd9d7e1:  The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at play.db.DBPlugin.onApplicationStart(DBPlugin.java:161) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at play.plugins.PluginCollection.onApplicationStart(PluginCollection.java:525) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at play.Play.start(Play.java:533) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at play.Play.init(Play.java:305) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at    play.server.ServletWrapper.contextInitialized(ServletWrapper.java:78) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at org.apache.catalina.core.StandardHost.start(StandardHost.java:840) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at org.apache.catalina.startup.Embedded.start(Embedded.java:825) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at com.staxnet.appserver.TomcatServerBase.startContainer(TomcatServerBase.java:120) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at com.staxnet.appserver.TomcatServerBase.start(TomcatServerBase.java:190) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at com.staxnet.appserver.StaxAppServer.main(StaxAppServer.java:89) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at com.staxnet.appserver.SnazAppServer.main(SnazAppServer.java:26) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at net.stax.appserver.bootstrap.Bootstrap.invokeAppServerMain(Bootstrap.java:41) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at net.stax.appserver.bootstrap.Bootstrap.main(Bootstrap.java:30) 
Jan 07 02:56:58 easybook i-9cd9d7e1:  Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 
Jan 07 02:56:58 easybook i-9cd9d7e1:  The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1116) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:348) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2391) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2428) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2213) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:797) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:389) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at java.sql.DriverManager.getConnection(Unknown Source) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at java.sql.DriverManager.getConnection(Unknown Source) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at play.db.DBPlugin.onApplicationStart(DBPlugin.java:109) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    ... 17 more 
Jan 07 02:56:58 easybook i-9cd9d7e1:  Caused by: java.net.ConnectException: Connection refused 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at java.net.PlainSocketImpl.socketConnect(Native Method) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at java.net.AbstractPlainSocketImpl.connect(Unknown Source) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at java.net.SocksSocketImpl.connect(Unknown Source) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at java.net.Socket.connect(Unknown Source) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at java.net.Socket.connect(Unknown Source) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at java.net.Socket.<init>(Unknown Source) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at java.net.Socket.<init>(Unknown Source) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:257) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:298) 
Jan 07 02:56:58 easybook i-9cd9d7e1:    ... 28 more 
Jan 07 02:56:58 easybook i-9cd9d7e1:  Jan 07, 2014 10:56:57 AM org.apache.catalina.core.StandardContext start 
Jan 07 02:56:58 easybook i-9cd9d7e1:  SEVERE: Error listenerStart   

if i try connect to DB over MysqWorkbench it's all fine... what am I doing wrong?

1

There are 1 answers

8
felix On

I think you are not binding your database with your application in the right way.

According with Play1 ClickStart in which the database binding is working. These are the steps:

1.In application.conf you should have this:

db=java:comp/env/jdbc/mydb
jpa.dialect=org.hibernate.dialect.MySQL5Dialect

2.Bind the application to the database

$bees app:bind -a appName -db dbName -as mydb

3.Redeploy the application

 bees app:deploy -a MY_APP -t tomcat7 myapp.war

Official documentation about Play1 is here.