Play! in the Cloud

You’ve been waiting for it…

And now, it’s here!

We have great news for you: Jelastic now supports Play framework! Thanks to all of our active users, this great feature is now available in Jelastic PaaS. Play! is one of the most popular frameworks out there. It is written in Java and helps developer build Web application more easily with Java and Scala.

So let’s get to it. Let’s deploy your Play! application to Jelastic right now!

1. Create the environment

1. Go to jelastic.com and sign up if you haven’t done so yet, or log in with your Jelastic credentials by clicking the Sign In link on the page.
2. Ask Jelastic to create a new environment.

play hosting

3. In the Environment Topology window, pick your application server (for example, Tomcat 6) and the database you want to use (for example MySQL). Then type your environment name, for example, playframework.play framework

It will take just a minute for your environment to be created.

play framework hosting

2. Configure database

1. Click the Open in browser button for MySQL.

play in the cloud

2. When you created your environment, Jelastic sent you an email with credentials to the database. Create a user account and the database using these credentials.
play framework connection
play framework in the cloud

Don’t forget to upload MySQL connector to the lib folder and restart Tomcat!

install play


3. Create an application

1. Go to the playframework.org and download the latest Play! framework version.

install play frameworkhost play

2. Unzip the package you have just downloaded.

3. Run Play framework using command line (C:play on Windows,~/play on Linux):

...play-1.2.4>play

4. Install Jelastic’s module on Play:

...play-1.2.4>play install jelastic

5. Once the module is successfully installed create a new application with Jelastic support:

...play-1.2.4>play new jelasticapp --with=jelastic

6. Once your application is created change the application.conf file of your project (play-1.2.4jelasticappconfig). Uncomment the part of file which includes Jelastic Account configuration and change all the required strings to the following:

jelastic.api.login=yourmail@domain.com
jelastic.api.password=yourpassword
jelastic.api.context=ROOT
jelastic.api.environment=your_environment_name
jelastic.api.apihoster=your_hoster’s_api

7. In this file, uncomment full JDBC configuration and change the database URL, driver, user and password according to your database:

db.url=jdbc:mysql://mysql-{your_environment_name}.{hoster’s_domain}/db_name
db.driver=com.mysql.jdbc.Driver
db.user=your_db_user_name
db.pass=your_db_password

8. Increase db.pool.timeout to 10000 ms in connections pool configuration of application.conf file:

db.pool.timeout=10000

9. Create your application as you usually do.

10. Deploy your application to Jelastic cloud:

...play-1.2.4>play jelastic:deploy jelasticapp
That’s all you have to do. Just a few simple steps. Your app is now ready to be opened in a new browser window.
host play framewotk
Cheers!

22 Responses to “Play! in the Cloud”

  1. k0rrawit

    After I type cmd to deploy :

    File Uploading : [100%]
    File Uploading : OK
    Registration project processing… : OK
    Deploy processing… : not authenticated (access denied to app [xxxxx] with session [yyyy])

    How to fix it ?

    Reply
    • k0rrawit

      Ok, I can solve by myself. It cause of wrong config jelastic.api.apihoster. In your example, it’s Europe hoster but I’m use US Hoster.

      But I found new problem which I can connect to the database.

      @69chf878g
      Can’t start in PROD mode with errors

      Database error
      A database error occured : Cannot connected to the database, An attempt by a client to checkout a Connection has timed out.

      play.exceptions.DatabaseException: Cannot connected to the database, An attempt by a client to checkout a Connection has timed out.
      at play.db.DBPlugin.onApplicationStart(DBPlugin.java:142)
      at play.plugins.PluginCollection.onApplicationStart(PluginCollection.java:480)
      at play.Play.start(Play.java:515)
      at play.Play.init(Play.java:300)

      Reply
    • Marina Sprava

      Hello!
      Please, check your config files.

      Reply
  2. Geert

    Hi,

    Nice work!

    One question though, will Jelastic support the Netty server (default play) in the future instead of the war packaging?

    Kind regards,

    Geert

    P.S. There is a small bug in the code above: “–with=jelastic” should be “–with=jelastic”.

    Reply
  3. Andrey Volkov

    Is there a way to update existing Play application for Jelastic? Could you provide a guide for it?

    Reply
  4. zoitec

    What should the jelastic.api.apihoster be for the US then?

    Reply
  5. Deploying Existing Play! Applications to Jelastic « Jelastic — Rock-Solid Java in the Cloud, Java Server Hosting, Java Cloud Computing

    [...] http://blog.jelastic.com/2012/02/13/play-in-the-cloud/ – You can respond to Leo on his blog, or in the comments below. Share this:TwitterFacebookMoreEmailPrintDiggLinkedInRedditStumbleUponLike this:LikeBe the first to like this post. [...]

    Reply
  6. Bleibt auf dem Laufenden mit Jelastic

    [...] Support for Play! framework [...]

    Reply
  7. jayeatworld

    Cool! Now what about Play Framework v2.0?

    Reply
    • Marina Sprava

      Hi!

      We plan to add this feature a little later. We already have this proposed in our voting list http://jelastic.com/?features . Please find that existing feature suggestion and vote for it. The more votes a faeture gets – the higher priority it gets in the roadmap.

      Reply
  8. Bastaware

    Remember to change play.id in web.xml

    Reply

Leave a Reply