Skip to main content

Getting started


Pass4s is a Scala library providing an abstract layer for app messaging. It provides implementations for platforms like AWS SQS/SNS and ActiveMQ.

Basis installation

The library is divided into multiple modules. If you're only interested in the basic abstractions, add following to your build.sbt file:

// Algebraic abstractions (Sender/Consumer)
"com.ocadotechnology" %% "pass4s-kernel" % "v0.4.0"

// Message, Destination, CommittableMessage, Connector
"com.ocadotechnology" %% "pass4s-core" % "v0.4.0"

// Broker
"com.ocadotechnology" %% "pass4s-high" % "v0.4.0"




// ActiveMQ connector
"com.ocadotechnology" %% "pass4s-connector-activemq" % "v0.4.0"


// SNS connector
"com.ocadotechnology" %% "pass4s-connector-sns" % "v0.4.0"
// SQS connector
"com.ocadotechnology" %% "pass4s-connector-sqs" % "v0.4.0"


// Kinesis connector
"com.ocadotechnology" %% "pass4s-connector-kinesis" % "v0.4.0"

Useful utils

Extras - provides MessageProcessor for convenient way of building rich message consumers and an easy way to bind them to processor logic.

// high-level MessageProcessor
"com.ocadotechnology" %% "pass4s-extra" % "v0.4.0"

S3proxy - seamless support for proxying large messages through s3. Useful for sorting the large messages on sns kind of problems.

// s3proxy
"com.ocadotechnology" %% "pass4s-s3proxy" % "v0.4.0"

Circe - JSON serialization/parsing support

// circe JSON senders/consumers
"com.ocadotechnology" %% "pass4s-circe" % "v0.4.0"

Phobos - XML serialization/parsing support

// phobos XML senders/consumers
"com.ocadotechnology" %% "pass4s-phobos" % "v0.4.0"

Logging middleware that uses log4cats

// logging middleware
"com.ocadotechnology" %% "pass4s-logging" % "v0.4.0"