2014-05-23 3 views
5

Wenn ich play run von meinem Scala-Projekt root ausführen, startet es normal und ich kann dagegen testen.Play Framework bindet Port nicht im "Start" -Modus

Wenn ich play start ausführen, ist es nicht an einen Port gebunden, und es gibt keine Protokollausgabe oder andere Anzeichen, dass etwas nicht stimmt.

$ play run 
[info] Loading project definition from /Users/Daenyth/myproject/project 
[info] Set current project to myproject (in build file:/Users/Daenyth/myproject/) 

--- (Running the application from SBT, auto-reloading is enabled) --- 

[info] play - Listening for HTTP on /0:0:0:0:0:0:0:0%0:9000 

(Server started, use Ctrl+D to stop and go back to the console...) 

$ play start 
[info] Loading project definition from /Users/Daenyth/Localytics/myproject/project 
[info] Set current project to profile-api (in build file:/Users/Daenyth/myproject/) 

(Starting server. Type Ctrl+D to exit logs, the server will remain in background) 

Wenn ich starten Sie die App durch den Launcher von play dist oder play stage erzeugt wird es mir den Prozess-ID zeigt aber nicht den Port binden.

Ich habe keine Ahnung, wie ich vorgehen soll - das Googeln hat nichts Nützliches zurückgegeben.

Edit:

Nach dem Ausführen für eine recht lange Zeit verlassen (mindestens 10 Minuten, ich bin mir nicht sicher), endlich diesen Ausgang setzen:

[error] c.j.b.h.AbstractConnectionHook - Failed to obtain initial connection Sleeping for 0ms and trying again. Attempts left: 0. Exception: java.net.ConnectException: Connection timed out.Message:Communications link failure 

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 
Oops, cannot start the server. 
Configuration error: Configuration error[Cannot connect to database [default]] 
    at play.api.Configuration$.play$api$Configuration$$configError(Configuration.scala:92) 
    at play.api.Configuration.reportError(Configuration.scala:570) 
    at play.api.db.BoneCPPlugin$$anonfun$onStart$1.apply(DB.scala:252) 
    at play.api.db.BoneCPPlugin$$anonfun$onStart$1.apply(DB.scala:243) 
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) 
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) 
    at scala.collection.immutable.List.foreach(List.scala:318) 
    at scala.collection.TraversableLike$class.map(TraversableLike.scala:244) 
    at scala.collection.AbstractTraversable.map(Traversable.scala:105) 
    at play.api.db.BoneCPPlugin.onStart(DB.scala:243) 
    at play.api.Play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(Play.scala:88) 
    at play.api.Play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(Play.scala:88) 
    at scala.collection.immutable.List.foreach(List.scala:318) 
    at play.api.Play$$anonfun$start$1.apply$mcV$sp(Play.scala:88) 
    at play.api.Play$$anonfun$start$1.apply(Play.scala:88) 
    at play.api.Play$$anonfun$start$1.apply(Play.scala:88) 
    at play.utils.Threads$.withContextClassLoader(Threads.scala:18) 
    at play.api.Play$.start(Play.scala:87) 
    at play.core.StaticApplication.<init>(ApplicationProvider.scala:52) 
    at play.core.server.NettyServer$.createServer(NettyServer.scala:243) 
    at play.core.server.NettyServer$$anonfun$main$3.apply(NettyServer.scala:279) 
    at play.core.server.NettyServer$$anonfun$main$3.apply(NettyServer.scala:274) 
    at scala.Option.map(Option.scala:145) 
    at play.core.server.NettyServer$.main(NettyServer.scala:274) 
    at play.core.server.NettyServer.main(NettyServer.scala) 
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) 
    at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1116) 
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:344) 
    at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2332) 
    at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2369) 
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2153) 
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:792) 
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) 
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:381) 
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305) 
    at java.sql.DriverManager.getConnection(DriverManager.java:571) 
    at java.sql.DriverManager.getConnection(DriverManager.java:215) 
    at com.jolbox.bonecp.BoneCP.obtainRawInternalConnection(BoneCP.java:363) 
    at com.jolbox.bonecp.BoneCP.<init>(BoneCP.java:416) 
    at com.jolbox.bonecp.BoneCPDataSource.getConnection(BoneCPDataSource.java:120) 
    at play.api.db.BoneCPPlugin$$anonfun$onStart$1.apply(DB.scala:245) 
    ... 22 more 
Caused by: java.net.ConnectException: Connection timed out 
    at java.net.PlainSocketImpl.socketConnect(Native Method) 
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339) 
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200) 
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182) 
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 
    at java.net.Socket.connect(Socket.java:579) 
    at java.net.Socket.connect(Socket.java:528) 
    at java.net.Socket.<init>(Socket.java:425) 
    at java.net.Socket.<init>(Socket.java:241) 
    at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:257) 
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:294) 
    ... 40 more 

Antwort

1

Das Problem hier war, dass der mysql-server, den ich konfiguriert hatte, nicht von meinem lokalen Rechner aus erreichbar war und ich einen Fehler in meiner EC2-Sicherheitsgruppe hatte, der verhinderte, dass sich meine deployed-instanz verband. Die Standardwerte für Timeout und Max Retry sind sehr hoch, so dass ich es zuerst nicht gesehen habe, weil es nichts ausgibt, wenn Sie es tun.

Durch Ändern der Sicherheitsregeln für das Netzwerk wurde das Problem behoben.

Verwandte Themen