Home » JVM Languages » Scala

Scala

Building a war with spray-servlet

We will use spray-servlet to build a war file of our API. So we can run it in a java app server. I assume we already have a working REST API. We will need a web.xml, under src/main/webapp/WEB-INF/: <?xml version="1.0"?> <web-app> <listener> <listener-class>spray.servlet.Initializer</listener-class> </listener> <servlet> <servlet-name>SprayConnectorServlet</servlet-name> <servlet-class>spray.servlet.Servlet30ConnectorServlet</servlet-class> <async-supported>true</async-supported> </servlet> <servlet-mapping> <servlet-name>SprayConnectorServlet</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app> We need an sbt plugin to ...

Read More »

Scala Days: 6 of the Best Talks You Probably Missed

Highlights from Scala Days @ San Francisco                     New Post: Scala Days: 6 of the Best Talks You Probably Missed http://t.co/w4armAvYTI pic.twitter.com/bZetjvH7sG — Takipi (@takipid) March 19, 2015 Scala Days was happening in San Francisco this week, and the presenters there gave some excellent talks on the hottest topics in the ...

Read More »

Building a rest api with spray

Building a rest api with akka and spray is easy. This is how I did it: SprayApiApp:                   import akka.actor.{ActorSystem, Props} import akka.io.IO import akka.pattern.ask import akka.util.Timeout import spray.can.Http import scala.concurrent.duration._ object SprayApiApp extends App { //we need an ActorSystem to host our application in implicit val system = ActorSystem("SprayApiApp") //create apiActor ...

Read More »

Chaining futures in scala

Suppose I want to make coffee. This involves 4 steps: 1a. grind coffee beans 1b. heat water 2. combine 3. filter All these steps take time, so they return a Future. This is our domain:     import scala.concurrent.{Await, Future} import scala.concurrent.ExecutionContext.Implicits.global //We need an executionContext to run futures import scala.concurrent.duration._ //This provides the "1 second" syntax class CoffeeBeans() class ...

Read More »

ReactiveMongo: Work with array

I’ve been working with ReactiveMongo during 6 months. It’s pretty nice realisation of MongoDB driver for Scala. I just have one remark – it has not so good documentation as it should be. Especially bad documentation have MongoDB operators. Fortunately original MongoDB documentation fix this circumstance. So in this tutorial I want to demonstrate how you can deal with JSON ...

Read More »

Microservices Development with Scala, Spray, MongoDB, Docker and Ansible

This article tries to provide one possible approach to building microservices. We’ll use Scala as programming language. API will be RESTful JSON provided by Spray and Akka. MongoDB will be used as database. Once everything is done we’ll pack it all into a Docker container. Vagrant with Ansible will take care of our environment and configuration management needs. We’ll do ...

Read More »